https://isocpp.org/files/papers/CppDevSurvey-2022-summary.pdf
다른 거는 크게 주목할 건 없고, 흥미로운 부분들만 간추려 올려봅니다.
6. C++ 개발에서 짜증나는 점은 무엇인가요? 해당되는 사항을 모두 골라주세요.
1위 : 의존성 있는 라이브러리들에 대한 관리
2위 : 빌드 시간
3위 : 통합 파이프라인 설정 (빌드 자동화, 테스팅 등)
4위 : 개발 환경 설정 (컴파일러, IDE 등)
5위 : 동시성 안정성 (레이스 컨디션, 데드락, 성능 병목)
6위 : CMake
7위 : 디버깅
8위 : 병렬화 지원
9위 : 메모리 안정성: 경계 관련 (bound 체킹을 안 하는 것)
10위 : 메모리 안정성: 객체 생애 주기 관련 (dangling 포인터, 참조자 등)
흔히 알려진 생각과는 달리 메모리 관련은 최상위권에 들지 않았습니다. 전체적으로 순서가 공감가네요.
7. 서드 파티 라이브러리는 관리 어떻게 하시나요?
1위 : 그 라이브러리 소스 코드도 같이 빌드함
2위 : 따로따로 컴파일함
3위 : 시스템 패키지 매니저 (apt, brew, ...)
4위 : 빌드된 걸 인터넷에서 받아 씀
8. 빌드 툴은 뭐 쓰시나요?
1위 : CMake
2, 3, 4위 (점수 비슷함) : Ninja, MSBuild, Make/nmake
11. 개발 환경에서 어떤 C++ 버전을 쓰는 게 허용되었나요? 해당되는 모든 버전에 체크해주세요.
C++98/03 : 80.62%
C++11 : 89.86%
C++14 : 82.89%
C++17 : 66.81%
C++20 : 22.85%
98/03이 11보다 적은 건 오타가 아닙니다. 이 경우 회사에서 C++11 이전은 아예 지원 안 한다는 뜻
12. 내년에는 더 새로운 C++ 버전을 직장이나 개발 환경에서 쓰실 계획인가요?
네 - 54.93%
아니오 - 20.41%
어떻게 될지 모름 - 24.66%
13. (12번에서 Yes로 대답한 경우만) C++20의 메이져 특성 세 가지 중 내년에 어떤 것을 쓰실 생각인가요?
컨셉 : Yes 54.26% / No 45.74%
코루틴 : Yes 38.24% / No 61.76%
모듈 : Yes 36.24% / No 63.76%
14. C++ 말고 어떤 언어를 쓰시나요? 해당되는 걸 모두 골라주세요.
Python : 71.12%
C : 50.90%
C# : 29.82%
JavaScript : 27.68%
SQL : 20.39%
Java : 20.22%
Rust : 16.71%
Assembly : 16.45%
TypeScript : 14.74%
Node.js : 12.94%
15. 컴파일러 어떤 거 쓰세요?
gcc : 가중치 점수 2.36
msvc : 가중치 점수 2.32
clang : 가중치 점수 2.06
가중치점수는뭔가요
저 질문은 주로 쓰는 컴파일러, 서브 컴파일러 이런 식으로 나왔는데 이걸 그대로 순위매길순 없으니까 그걸 하나로 점수화한거에요
짜증나는 점 의존성 cmake가 1위 6위인거 보면 cmake가 잘못했네.. 그나저나 모듈을 36%나 도입한다니 신기하다
답변을 보면 C++03 쓰면서 다른 라이브러리들도 함께 정적링킹해서 dll hell에서 탈출하며 살고 있는듯
의존성은 ㄹㅇ 저거 하나만으로 꺼려질 정도