C++

Ces questions n'ont été posées qu'aux développeurs ayant sélectionné C++ comme l'un de leurs trois principaux langages de programmation.

Quelles normes C++ utilisez-vous régulièrement ?

12%41%39%46%13%C++20C++17C++14C++11C++98 / C++03

Les développeurs continuent d'adopter les nouvelles normes C++. Le nombre de développeurs utilisant C++20 est passé à 12%.

11%36%44%47%18%C++20C++17C++14C++11C++98 / C++03

Les résultats de certaines questions, dont celle-ci, ont été répartis en trois groupes en fonction des types de logiciels développés par les répondants et des domaines dans lesquels leurs entreprises opèrent. Ces groupes représentent les 3 principaux domaines de développement C++ : le développement de technologies embarquées, la finance et le développement de jeux.

Prévoyez-vous de passer à une autre norme C++ dans les 12 prochains mois ? Si oui, laquelle ?

50%14%10%19% 8%Non, il n'y a pas de changement prévuvers C++11vers C++14vers C++17vers C++20

Environ la moitié des développeurs C++ interrogés prévoient de passer à une autre norme cette année.

Quel EDI ou éditeur utilisez-vous le plus souvent pour le développement en C++ ?

26%22%22% 7% 4% 4% 3% 3% 2% 2% 1% 3%Visual StudioCLionVSCode (Visual Studio Code)Vi/VimQtCreatorSublimeXcodeAtomEmacsEclipse CDTNetBeansAutre

26%25%22% 6% 4% 4% 4% 3% 2% 2% 1% 1%Visual StudioVSCode (Visual Studio Code)CLionVi/VimAtomEmacsQtCreatorXcodeNetBeansSublimeEclipse CDTAutre

JetBrains a récemment lancé la Public Preview de l'EDI Rider for Unreal Engine pour le développement de jeux vidéo et nous espérons qu'il figurera dans le classement l'année prochaine.

Quels frameworks de tests unitaires utilisez-vous régulièrement, le cas échéant ?

31%14% 6% 6% 3% 1%15%34% 4%Google TestCatchBoost.TestCppUnitdoctestCppUTestJe n'utilise pas de frameworkJe n'écris pas de tests unitaires pour C++Autre

Catch a pris la deuxième place cette année, dépassant Boost.Test et CppUnit.

31%12% 5% 6% 2% 2%19%32% 2%Google TestCatchBoost.TestCppUnitdoctestCppUTestJe n'utilise pas de frameworkJe n'écris pas de tests unitaires pour C++Autre

Quels gestionnaires de dépendances utilisez-vous dans vos projets ?

23%10% 8% 6% 3% 1% 4%49%J'utilise un gestionnaire de paquets systèmeNugetvcpkgConanbuild2HunterAutreAucun(e)

La moitié des développeurs C++ n'utilise aucun gestionnaire de dépendances.

23%10% 7% 6% 5% 2% 6%46%J'utilise un gestionnaire de paquets systèmeNugetvcpkgConanbuild2HunterAutreAucun(e)

Quelles méthodes de signalement d'erreur sont autorisées sur votre projet actuel (dans le cadre de votre travail ou de vos études) ?

79%Exceptions (throw, try,catch)
51%Codes d'erreur numériques(par exemple errc,error_code, HRESULT)
22%Types de classe de résultatde réussite/échec (parexemple Boost.Expected,Boost.Outcome)

Quel(s) modèle(s) de projet ou système(s) de build utilisez-vous régulièrement, le cas échéant ?

53%35%29% 7% 7% 5% 3% 3% 2% 1% 4%13%CMakeProjet Visual StudioMakefilesXcode ProjectSystème de build personnaliséQmakeAutotoolsBaselBoost.BuildSConsAutreAucun(e)

Comme les années précédentes, les principaux systèmes de build sont CMake, Visual Studio et Makefiles.

54%35%34%11% 7% 7% 4% 3% 3% 2% 4% 8%CMakeMakefilesProjet Visual StudioSystème de build personnaliséQmakeXcode ProjectAutotoolsBaselBoost.BuildSConsAutreAucun(e)

Quel(s) compilateur(s) utilisez-vous régulièrement ?

74%43%32% 9% 5% 3%GCCClangMSVCIntelSolution personnaliséeAutre

GCC a augmenté sa part pour la première fois en 4 ans, tandis que Clang affiche une croissance stable.

79%42%33% 8% 7% 5%GCCClangMSVCIntelSolution personnaliséeAutre

Parmi les outils suivants, lesquels utilisez-vous (ou votre équipe) pour appliquer les directives ou autres opérations d'analyse ou d'amélioration de la qualité du code ?

36%23%20%13% 9% 6% 2% 2%Outil fourni par mon EDI (Visual Studio, ReSharper C++, CLion, etc.)Clang-tidyClang-analyzer / Clang Static AnalyzerCppcheckCpplintCoverityParasoft C/C++testStack
Tous les résultats

La popularité croissante de Clang entraîne aussi la notoriété de ses outils, tels que Clang-Tidy et Clang-Analyzer.

Parmi les sources de conseils ou directives suivantes, lesquelles votre équipe ou vous-même utilisez-vous activement ?

29%26%24% 9% 5% 5% 3% 3%Effective C++ (livres de Scott Meyers)Guide de style C++ GoogleC++ Core Guidelines – main project (github.com/isocpp/CppCoreGuidelines)C++ Coding Standards (livre de Herb Sutter et Andrei Alexandrescu)Guru of the Week / Exceptional C++ (blog / livres de Herb Sutter)Instructions de base C++ – fork ou branche spécifique à une entreprise, complétée par des règles internesAbseil tips of the weekHigh Integrity C++ Coding Standard (Programming Research)
Tous les résultats

Merci du temps que vous nous avez accordé !

Nous espérons que vous avez trouvé ce rapport intéressant. N'hésitez pas à le partager avec vos amis et collègues.

Rejoignez le JetBrains Tech Insights Lab

Participez à des enquêtes et à des études sur l'expérience utilisateur pour aider les produits JetBrains à gagner en facilité d'utilisation, mais aussi en puissance. En participant à nos études, vous aurez également la possibilité de gagner des récompenses.

Si vous avez des questions ou des suggestions, contactez-nous à surveys@jetbrains.com.

© 2000-2020 JetBrains s.r.o. Tous droits réservés.