qwery 2022-09-28 | parent | favorite | on: C++20, How Hard Could It Be(docs.google.com)

그러니가 C++이 이상한언어인겁니다..
언어는 계속 버전업되면서 모듈이나 코루틴이나 이것저것 많이 추가되면서 자기가 다 하려고 하고
기능이 나오면 컴파일러들은 4년 5년뒤에 기능이 추가되고
컴파일러마다 할수있는것에 차이있고 문법 조금씩 차이있고
버전업되면서 미세하게 잘 쓰던것들 다 사라지고
stl 커지고 버전업되면서 구세대 컴퓨터에서는 돌아가지않고..
쓴다면 Go나 파이썬을 쓰라고 말씀드리고싶네요

버전업 되면서 하위호환성이 지켜지지 않은 항목들은
미정의 동작이나 결함이 있는 기능을 개선한 경우가 대부분입니다.
모듈, 컨셉, 코루틴 같은 기능들은 타 언어들처럼 계속해서 언어가 발전하고 있는거구요.
특히 모듈의 경우 이전부터 계속 있어왔던 요구사항이죠.

std::iterator 지원 중단이 말씀하신 "미정의 동작이나 결함이 있는 기능을 개선"한 경우에 포함되는지는 잘 모르겠습니다.

다만 C++이 타 언어에 비해 뒤쳐지는 점은 크게 다음과 같습니다.

  1. 패키지 매니저
  2. 컴파일러 파편화
  3. 복잡한 컴파일 방식(Make, CMake 추가 학습 요구)
  4. 커뮤니티의 무관심

이 중 커뮤니티의 무관심으로 인해 양질의 아티클이 매우 부족하고,
적은 이용자 수로 나머지 세 문제가 해결되지 않는 것이 크다고 생각합니다.