C++

공유하기:

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

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

꾸준히 마이그레이션이 진행되고 있어 다행입니다. 특히 게임 개발자 사이에서 C++20이 사용되는 것은 좋은 소식이며, 앞으로 모든 게임 플랫폼에서 지원되길 기대합니다. 공급업체가 구현하기엔 쉽지 않을 테지만, 콘셉트와 범위만으로도 가치가 있다고 확신합니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

C++20 채택률은 매우 놀라운 수준입니다. 명백한 변화가 있으며, 새로운 표준은 이전보다 훨씬 더 빠르게 채택되고 있습니다.

Jason Turner

C++ 강사, 연사, 저자, 유튜버

대다수 사용자가 지난 5년간 출시된 릴리스를 사용하고 있어 다행입니다. 또한 C++11 이전 릴리스 사용 비율이 10% 아래로 감소한 것도 바람직합니다. 앞으로 몇 년 후면 이러한 유형의 설문조사에 해당 선택지가 포함되지 않을 겁니다

Titus Winters

Google 수석 엔지니어

C++ 표준 마이그레이션

표준 타임라인 전체에 사용자가 분산되어 있다는 점을 항상 기억하세요. 이와 같은 설문조사의 결과를 통해 최신 표준뿐 아니라 모든 곳에서 작동하는 코드를 작성해야 한다는 것을 알 수 있습니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

아직 C++20 교육을 요청하는 회사가 많지 않다는 점을 고려할 때 매우 놀라운 결과입니다. C++17로의 마이그레이션도 행운이라고 생각하는 사용자가 여전히 많습니다.

Jason Turner

C++ 강사, 연사, 저자, 유튜버

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

[Modules] 기능은 아직 개발이 더 필요한 것 같지만, 제 의견이 잘못된 것으로 판명되길 기대합니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

향후 12개월 이내에 모듈을 쉽게 사용할 수 있도록 툴링이 개선되기를 바랍니다!

Jason Turner

C++ 강사, 연사, 저자, 유튜버

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

JetBrains는 C++ 코드 작성과 관련된 전형적인 문제를 피할 수 있도록 다양한 C++ IDE를 갖추고 있습니다. 크로스 플랫폼 및 임베디드 개발을 위한 CLion, Visual Studio 사용자를 위한 ReSharper C++ 및 Unreal Engine 및 C++ 게임 개발자를 위한 Rider가 그 예입니다.

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

엔지니어는 코드를 테스트하는 것보다 코드 작성을 훨씬 선호하며, 테스트 작성 소요 시간을 실제 장기적 이점보다 중요하게 생각합니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

개발자의 4분의 1이 유닛 테스트를 작성하지 않는다는 통계는 충격적입니다. 유닛 테스트의 작성 방식이나 사용되는 프레임워크에는 개인차가 있을 수 있다고 생각하지만, 테스트는 모두 작성해야 합니다.

Titus Winters

Google 수석 엔지니어

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

이 결과에는 타사 사용을 위해 C++ 코드를 패키징하는 현재 상황이 반영되었습니다. 저는 문제가 해결되기를 바라지만, 해결될 것이라는 낙관적 전망은 없습니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

종속성 관리 및 패키지 관리 현황은 안타깝기 그지없습니다. 복제 가능한 빌드와 명확한 종속성 체인은 정말 중요합니다. 현재로서는 '어쩌다 보니 작동하는' 경우가 너무 많습니다.

Titus Winters

Google 수석 엔지니어

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

C++ 엔지니어에겐 CMake가 스톡홀름 신드롬과 같다고 말한 적이 있습니다. 개인적 선호와 무관하게 CMake는 사실상 표준으로 자리 잡았습니다. 즉, 경쟁 제품에 비해 확실한 우위를 점한 것입니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

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

CLion에서는 GCC 기반, Clang, MSVC 및 IAR 컴파일러를 사용할 수 있습니다. 드문 경우 혹은 맞춤 설정이 필요한 경우 컴파일러 기능을 통해 CLion에서 임의의 컴파일러를 사용할 수도 있습니다.

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

AI 및 ML을 위한 프로그래밍 언어로서 Python의 유비쿼터스 특성을 고려할 때 당연한 결과입니다. numpy, pandas와 같은 우수한 라이브러리가 있으므로 Python은 더욱 선호됩니다. 표준 라이브러리에 아날로그가 필요하거나, 패키지 처리 문제를 해결해야 할 수도 있습니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

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

정적 분석을 기피하는 응답자가 30%에 불과하므로, 오픈소스 코드의 안전 및 보안이 점차 개선될 것이라 확신합니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

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

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

이 경우에는 작은 것이 더 좋습니다. 내년에는 사전 컴파일된 헤더, 모듈 및 Unity빌드가 어떻게 상호작용하는지 보고 싶습니다.

Guy Davidson

Creative Assembly 엔지니어링 관행 책임자

읽어주셔서 감사합니다!

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

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