일단 전문은 Goals and priorities for C++ 여기서 보셈.


참고로 2020년 3월 2일에 나옴.


여기 갤럼들은 C++의 과도한 호환성과 그에 의한 코드 가독성 저하 및 무질서한 문법에 대해 가장 궁금할 테니 간단하게 요약해봄.


위원회가 추구하는 C++의 목표


  1. 속도를 중시하는 (performance-critical) 소프트웨어
  2. 소프트웨어와 언어를 아우르는 혁신
  3. 간단하게 읽고, 이해하고, 쓰기 쉬운 코드
  4. 실용적 보안을 보장함과 테스팅 매커니즘
  5. 빠르고 증축 가능한 개발
  6. 현 하드웨어, 운영체제, 환경과의 발전


Focus on enabling better code patterns rather than restricting bad ones.


나쁜 코드 패턴을 제한하기 보단 좋은 패턴을 허용(도입)하는 데 초점을.



그리고 위원회가 추구하는 목표가 아닌 것 (non-goals)


  1. 안정된 언어와 라이브러리 ABI
  2. 호한성 (backwards or forwards compatibility)
  3. 소스코드가 없거나 다시 빌드할 여력이 없는 이미 컴파일된 레거시
  4. 이미 존재하는 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 문법에 대해 설명할 때 러스트를 잘 된 예시로 들더라.


내용으로만 따지면 코드 가독성을 향상시킨다는 언급이 있긴 해도 나쁜 코드 패턴에 제한을 두진 않는다는 거 보니 긴가민가하네.


그래도 호환성이 목표가 아니라고 확실하게 말하니 기대해 볼 수 있을 듯?