일단 전문은 Goals and priorities for C++ 여기서 보셈.
참고로 2020년 3월 2일에 나옴.
여기 갤럼들은 C++의 과도한 호환성과 그에 의한 코드 가독성 저하 및 무질서한 문법에 대해 가장 궁금할 테니 간단하게 요약해봄.
위원회가 추구하는 C++의 목표
- 속도를 중시하는 (performance-critical) 소프트웨어
- 소프트웨어와 언어를 아우르는 혁신
- 간단하게 읽고, 이해하고, 쓰기 쉬운 코드
- 실용적 보안을 보장함과 테스팅 매커니즘
- 빠르고 증축 가능한 개발
- 현 하드웨어, 운영체제, 환경과의 발전
Focus on enabling better code patterns rather than restricting bad ones.
나쁜 코드 패턴을 제한하기 보단 좋은 패턴을 허용(도입)하는 데 초점을.
그리고 위원회가 추구하는 목표가 아닌 것 (non-goals)
- 안정된 언어와 라이브러리 ABI
- 호한성 (backwards or forwards compatibility)
- 소스코드가 없거나 다시 빌드할 여력이 없는 이미 컴파일된 레거시
- 이미 존재하는 compilation과 linking 모델에 대한 지원
Our experience is that providing broad ABI-level stability for high-level constructs is a significant and permanent burden on their design.
하이레벨 개발을 위한 바이너리에서의 안정성은 그 디자인(하이레벨)에 중대하고 영구적인 짐이 된다.
Our goals are focused on migration from one version of C++ to the next rather than compatibility between them.
우리가 중시하는 건 한 C++ 버전에서 다른 버전으로의 이동이지 호환성이 아니다.
그리고 implicit이랑 explicit 문법에 대해 설명할 때 러스트를 잘 된 예시로 들더라.
내용으로만 따지면 코드 가독성을 향상시킨다는 언급이 있긴 해도 나쁜 코드 패턴에 제한을 두진 않는다는 거 보니 긴가민가하네.
그래도 호환성이 목표가 아니라고 확실하게 말하니 기대해 볼 수 있을 듯?
ABI breakage도 핫한 떡밥이긴 하드만요
C++은 타이핑 좀 줄인다고 implicit한 문법이 너무나도 많음
C#처럼 호환성 갈아버리고, 현대 문법으로 만든다는데에는 공감이 가긴 하는데. 개인적으로 c 호환성은 그냥 냅뒀으면 좋겠는데
커헠이 이런 글에 안 나타나네 ㅋㅋㅋ
그냥 언어를 새로 만들라고 아
호오? 호환성 깨질 수 있다고 말만이라도 한 게 처음 아닌가
문법 하위 호환성은 C++11에서 이미 깨짐 auto가 대표적인 예
그건 쓰는 사람도 없었는데 예시로는 좀