Estas preguntas solo se han mostrado a los desarrolladores que seleccionaron C++ como uno de sus tres lenguajes de programación principales.

C++

¿Qué estándares de C++ utiliza habitualmente?

12%40%30%42%18%11%C++98 / C++03C++11C++14C++17C++20No estoy seguro
Matt GodboltCreador de Compiler Explorer

"Es agradable ver la adopción del C++ moderno. 1 de cada 5 personas encuestadas está en el último estándar, lo cual es estupendo, y muchos más están planeando pasar al menos a C++17 el año que viene. Los módulos y los conceptos parecen ser elementos potentes de motivación".

Migración de las normas de C++

41%17% 9%17%17%No está en mis planesa C++11a C++14a C++17a C++20
Andreas KlingCreador de SerenityOS y el correspondiente canal de YouTube

"Es normal que muchas personas que ya estaban en C++17 estén ansiosas por adoptar C++20".

¿Su proyecto actual tiene previsto utilizar alguna de estas funciones de C++20 en los próximos 12 meses?

48%46%33% 5%31%MódulosConceptosCorrutinasOtroNinguna
Andreas KlingCreador de SerenityOS y el correspondiente canal de YouTube

"Los módulos encabezan las listas, como era de esperar. Dado que los tiempos de compilación de C++ empeoran cada año, será muy interesante ver cómo la gente utiliza los módulos para contrarrestar esta tendencia".

¿Qué editor o entorno de desarrollo integrado utiliza con mayor frecuencia para el desarrollo en C++?

28%26%24% 6% 3% 2% 2% 2%Visual Studio CodeCLionVisual StudioVi/VimQtCreatorEmacsSublimeXcode
Todos los resultados

¿Qué marcos de trabajo de pruebas unitarias utiliza habitualmente?

32%11% 9% 5% 4% 2%30%16% 4%Google TestCatchCppUnitBoost.TestdoctestCppUTestNo escribo código de pruebas de unidades para C++Escribo pruebas de unidades, pero no uso marcos de trabajoOtro

Matt GodboltCreador de Compiler Explorer

"Sigue siendo decepcionante ver que un tercio de los desarrolladores no escribe pruebas de unidad".

¿Cómo gestiona las bibliotecas de terceros en C++?

26%23%21%21% 9% 7% 5% 1%14% 5%El código fuente de la biblioteca es parte de mi buildCompilo las bibliotecas por separado utilizando sus instruccionesDescargo bibliotecas precompiladas de InternetCuento con un administrador de paquetes del sistema.vcpkgNugetConanbuild2Ninguna de las opciones anteriores; no tengo ninguna dependenciaOtro
Matt GodboltCreador de Compiler Explorer

"Casi tres cuartas partes de las personas encuestadas carece de una buena solución de empaquetado; tener que construir las bibliotecas por separado, compilarlas por adelantado o utilizar la gestión de paquetes del sistema implica el trabajo del desarrollador o la dependencia de partes externas para compilarlas. Esto puede suponer un retraso en las nuevas versiones y añade complejidad a la hora de actualizar o cambiar los compiladores".

Andreas KlingCreador de SerenityOS y el correspondiente canal de YouTube

"No sería C++ si no tuviéramos muchas soluciones que compiten entre sí para abordar este problema, pero no puedo evitar preguntarme si no estaríamos mejor si, simplemente, eligiéramos una y la siguiéramos".

¿Qué métodos de notificación de errores se permiten en su proyecto actual (laboral o académico)?

80%
Excepciones
54%
Códigos de error numéricos
20%
Tipos de clase de resultado satisfactorio/no satisfactorio

¿Qué modelos de proyecto o sistemas de compilación utiliza habitualmente?

55%36%31%10% 9% 9% 6% 6%CMakeMakefileProyecto de Visual StudioGradleNinjaProyecto de XcodeSistema de build personalizadoQmake
Todos los resultados

¿Qué compiladores utiliza habitualmente?

GCCClangMSVCIntelCompilador paramicrocontroladoresPersonalizadoOtroGCC78%Clang43%MSVC30%Intel9%Compilador para microcontroladores7%Personalizado2%Otro1%
Matt GodboltCreador de Compiler Explorer

"Es interesante ver que los compiladores de código abierto encabezan la lista de compiladores utilizados normalmente. En mi mundo, el hecho de estar en Linux hace que los compiladores de MSVC no estén disponibles, pero siempre he imaginado que el número de programadores en Windows nos superaría, por lo que la utilización de MSVC sería mayor".

Andreas KlingCreador de SerenityOS y el correspondiente canal de YouTube

"Es muy interesante ver que GCC crece más que Clang. Como dato anecdótico, sí que parece que GCC haya progresado más con C++20".

¿Qué otros lenguajes de programación utiliza en sus proyectos, además de C++?

45%31%21%15%15%12%11%11%PythonCLenguajes de programación shell (bash/shell/powershell)JavaJavaScriptSQL (PL/SQL, T-SQL y otras extensiones de programación en SQL)C#HTML / CSS
Todos los resultados

¿Cuál de las siguientes herramientas utiliza usted o su equipo para la aplicación de pautas u otros análisis o calidad del código?

38%23%21%17%11% 7% 4% 3% 2% 1%Herramienta proporcionada por mi entorno de desarrollo integradoClang-tidyClangFormatClang-analyzer o Clang Static AnalyzerCppcheckCpplintCoverityStackPVS-StudioParasoft C o C++test
Todos los resultados

Andreas KlingCreador de SerenityOS y el correspondiente canal de YouTube

"El formateo automático del código sigue estando muy infravalorado. Puede parecer una tontería, pero con una herramienta como ClangFormat, ¡no tendrás que volver a pelearte con el estilo del código!"

¡Gracias por el tiempo que nos has dado!

Esperamos que nuestro informe le haya resultado útil. Comparta este informe con sus amigos y compañeros.

Participe en el JetBrains Tech Insights Lab

Participe en encuestas y estudios de experiencia de usuario para que los productos JetBrains sean más fáciles de usar y aún más potentes. Por participar en nuestras investigaciones, también tendrá la oportunidad de ganar premios.

Si tiene alguna pregunta o sugerencia, no dude en ponerse en contacto con nosotros a través de surveys@jetbrains.com.