C++

공유하기:

이 질문은 사용하는 주요 프로그래밍 언어 3개 중 하나로 C++를 선택한 개발자에게만 표시되었습니다.

공유하기:

어떤 C++ 표준을 주로 사용하시나요?

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

C++23 및 이전 표준의 채택 수준은 놀랄 일이 아닙니다. 채택 패턴은 최근 몇 년간 실질적으로 동일하며 단지 시간 차이가 있을 뿐입니다. C++23은 2023년 채택률이 10%로 2020년 C++20 채택률(12%)보다 약간 낮습니다. 이는 아마도 C++23에 비해 C++20에 도입된 새로운 기능의 수와 관련이 있을 것입니다.

Inbal Levi

MPGC Services Ltd(Millennium)의 수석 소프트웨어 엔지니어, WG21 위원회 회원

임베디드 및 게임 산업의 상당 부분이 이미 C++20을 사용하고 있다는 사실은 정말 기쁜 일입니다. 이 버전은 컴파일 시간 역량을 확장하므로 런타임 성능에 중점을 두는 이러한 산업에 매우 유용합니다. 앞으로도 C++23이 이와 같은 채택률로 계속 사랑 받기를 기대합니다.

Bryce Adelstein Lelbach

NVIDIA의 책임 아키텍트

C++20 채택이 크게 도약한 것은 구현이 훨씬 더 성숙해지고 기능이 완전해졌다는 점을 생각하면 수긍이 가는 결과입니다. 개인적으로, 향후 몇 년 동안 커뮤니티 대부분에서 '기본' 파생 언어가 C++17에서 C++20으로 크게 전환될 것으로 생각됩니다.

C++ 표준 마이그레이션

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

C++98/03 사용자 중 57%는 다른 표준으로 전환할 계획이 없습니다. 실망스러울 수도 있는 결과이지만 일반적으로 응답자의 8%만이 여전히 C++98/03을 사용하고 있다는 점을 고려하면 이는 전 세계 C++ 코드의 약 4%만이 이전 표준을 유지하고 있음을 의미합니다. 이는 그리 나쁘지 않으며 다른 프로그래밍 언어의 경우도 비슷합니다.

현재 프로젝트에서 향후 12개월 내에 다음 C++20 기능 중 하나를 사용할 계획이 있으신가요?

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

최근 C++20 모듈을 지원하기 위한 빌드 시스템과 에코시스템에 많은 진전이 이루어졌지만, 내년에 C++20 모듈을 사용할 계획(아마도 프로덕션 단계에)이라고 답한 응답자 중 절반은 지나치게 낙관적인 것으로 보입니다. 앞으로 12개월 내에 그 정도로 발전할 것 같지는 않습니다.

Inbal Levi

MPGC Services Ltd(Millennium)의 수석 소프트웨어 엔지니어, WG21 위원회 회원

전통적으로 새로운 것을 느리게 받아들이는 것으로 알려진 임베디드 업계에서 기능이 빠르게 채택되는 모습을 보니 정말 기쁩니다. 저는 이것이 임베디드 분야에 C++20이 제공할 수 있는 큰 이점과도 관련이 있다고 생각합니다.

Bryce Adelstein Lelbach

NVIDIA의 책임 아키텍트

실제로 모듈을 사용해 본 사람이 몇 명이나 될지 의문입니다. 관심은 많지만 실제로 사용하는 경우는 많지 않습니다.

C++ 개발에 어떤 IDE 또는 에디터를 가장 많이 사용하시나요?

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

시장은 확실히 Microsoft와 JetBrains가 장악하고 있습니다. VS Code의 빠른 성장이 마침내 둔화되고(적어도 C++ 사용자 사이에서는) 삼파전의 주인공인 CLion, VS 및 VS Code가 균일한 점유율로 안정화를 찾아가는 모습입니다.

어떤 유닛 테스트 프레임워크를 주로 사용하시나요?

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

안타깝게도 29%는 여전히 C++ 코드에 대한 유닛 테스트를 작성하지 않습니다. 이 수치가 수년에 걸쳐 천천히 계속 감소하고는 있지만 충분한 수준은 아닙니다. 이러한 부분을 해결하는 일도 언어의 미래를 위해 중요합니다.

Inbal Levi

MPGC Services Ltd(Millennium)의 수석 소프트웨어 엔지니어, WG21 위원회 회원

프레임워크 없이 유닛 테스트를 작성하는 개발자의 수를 보고 놀랐습니다. 위원회에서 패키지 관리자 주제를 홍보하기 위한 노력이 이루어지고 있으며, 이를 통해 유닛 테스트를 작성하지 않는 사람과 프레임워크 없이 작성하는 사람의 수치가 모두 줄기를 바랍니다.

C++에서 타사 라이브러리를 어떻게 관리하시나요?

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

지침에 따라 라이브러리를 수동으로 컴파일하는 개발자가 줄어들었다는 점은 고무적입니다. 자동화된 솔루션을 사용하면 C 및 C++ 에코시스템에 고유한 이러한 관행이 더욱 줄어들 것으로 기대됩니다.

Inbal Levi

MPGC Services Ltd(Millennium)의 수석 소프트웨어 엔지니어, WG21 위원회 회원

저는 이것이 C++ 커뮤니티 전반에 걸쳐 패키지 관리자에 대한 광범위한 지원이 필요하다는 사실을 명백히 보여준다고 생각합니다.

Bryce Adelstein Lelbach

NVIDIA의 책임 아키텍트

조만간 이러한 패키지 관리자(vcpkg, Conan 등)가 충분히 성숙되고 널리 사용되어 사실상의 표준이 되는 변곡점에 도달할 수 있습니다. 하지만 아직 이 지점에 도달하지는 못했습니다.

어떤 프로젝트 모델 또는 빌드 시스템을 주로 사용하시나요?

Bryce Adelstein Lelbach

NVIDIA의 책임 아키텍트

CMake의 시장 점유율이 하락하고 Ninja의 시장 점유율이 증가하는 것은 매우 흥미로운 결과입니다. 하지만 이 추세는 알고 있던 것과는 다릅니다. 어쩌면 단순한 노이즈일 수도 있겠지만 지금까지 CMake의 급속한 성장을 고려하면 이 데이터는 지금이 포화 상태임을 시사합니다.

어떤 컴파일러를 주로 사용하시나요?

프로젝트에서 C++와 함께 사용하는 다른 프로그래밍 언어로 무엇이 있나요?

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

Python은 C++ 개발자의 도구 상자를 채울 또 다른 매우 유용한 도구입니다.

Bryce Adelstein Lelbach

NVIDIA의 책임 아키텍트

C++와 함께 JavaScript와 Rust를 더 많이 사용하는 추세가 있는 것 같습니다. Rust의 인기가 높아지는 추세를 고려할 때 Rust와 C++의 조합이 더 빠른 성장을 보이지 않는다는 것이 놀랍습니다. 이는 (새 프로젝트와는 반대로) 기존 프로젝트에서 Rust를 사용하는 것이 더 어려울 수 있음을 시사합니다.

다음 도구 중에서 귀하 또는 귀하의 팀이 가이드라인 적용 또는 기타 코드 품질/분석을 위하여 사용하는 것은 무엇인가요?

Bryce Adelstein Lelbach

NVIDIA의 책임 아키텍트

여기서 IDE 제공 분석 도구가 줄어든 것은 GitHub Actions에서 Clang-tidy/ClangFormat/Clang 정적 분석기를 실행하듯이 정적 분석을 CI에 통합하는 사람들이 있다는 것을 의미한다고 생각합니다.

귀하 또는 귀하의 팀은 코드 분석을 어떻게 실행하시나요?

C++ 프로젝트 빌드 시간 최적화를 위해 어떤 도구나 기술을 사용하시나요?

Diego Rodriguez-Losada Gonzalez

JFrog 수석 아키텍트

5~10년 전만 해도 C++ IDE 시장은 기본적으로 Windows 전용 제품인 Visual Studio 한 제품이 지배하고 있었습니다. 사람들은 단지 좋은 IDE에 액세스하기 위해 Windows에서 개발하곤 했습니다. 오늘날 이 분야에는 JetBrains와 Microsoft의 두 주요 공급업체가 있으므로, 사용자가 큰 혜택을 누릴 수 있습니다. Visual Studio Code와 CLion의 도움으로 이제 Windows를 사용하지 않는 개발자도 IDE에 훨씬 더 쉽게 액세스할 수 있습니다.

읽어주셔서 감사합니다!

이 보고서가 여러분에게 도움이 되었기를 바랍니다. 이 보고서를 친구와 동료에게 공유하세요.

JetBrains Tech Insights Lab에 참여하세요

설문조사와 UX 연구에 참여하여 JetBrains 제품을 더욱 사용하기 쉽고 더욱 강력하게 만들어 보세요. 연구에 참여하시면 상품을 받을 수 있는 기회도 주어집니다.

원시 데이터 예정

원시 데이터를 준비 중입니다. 다운로드가 가능할 때 알림을 받으려면 이메일을 남겨주세요.

By submitting this form I agree to the JetBrains Privacy Policy

질문이나 제안이 있으면 surveys@jetbrains.com으로 연락해 주세요.