C++

Compartir:

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

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

Es estupendo ver que la migración avanza de forma constante. Me alegra especialmente ver que los desarrolladores de juegos adoptan C++20, y estoy deseando que todas las plataformas de juegos sean compatibles con él. Será un reto para los vendedores implementarlo, pero estoy seguro de que merecerá la pena solo por los conceptos y las gamas.

Guy Davidson

Head of Engineering Practice, Creative Assembly

Estoy realmente sorprendido de ver el ritmo de adopción de C++20. Está claro que las cosas están cambiando. Estamos viendo una adopción de nuevos estándares mucho más rápida que en el pasado.

Jason Turner

Formador de C++, conferenciante, autor, YouTuber

Me alegra ver que la gran mayoría de los usuarios utiliza versiones de los últimos 5 años. Además, ver que las versiones anteriores a C++11 caen por debajo del 10 % es una buena noticia. Un par de años más y podremos dejar de incluirlas en este tipo de encuestas.

Titus Winters

Ingeniero principal en Google

Migración de los estándares de C++

Recuerde siempre que hay usuarios dispersos por toda la línea temporal de los estándares. Encuestas como esta nos recuerdan que debemos escribir código que funcione en todas partes, no solo en el estándar más reciente.

Guy Davidson

Head of Engineering Practice, Creative Assembly

Me parece especialmente sorprendente, ya que todavía no veo que muchas empresas soliciten formación en C++20. Muchos aún se sienten afortunados de pasar a C++17.

Jason Turner

Formador de C++, conferenciante, autor, YouTuber

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

Creo que la funcionalidad [Modules] aún necesita más desarrollo, pero espero no tener razón.

Guy Davidson

Head of Engineering Practice, Creative Assembly

Espero que en los próximos 12 meses las herramientas se pongan al día y sea fácil utilizar Modules.

Jason Turner

Formador de C++, conferenciante, autor, YouTuber

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

JetBrains dispone de una gama de IDE de C++ que le ayudarán a evitar los típicos escollos y quebraderos de cabeza que suelen asociarse a la codificación en C++: CLion para desarrollo multiplataforma e incrustado, ReSharper C++ para usuarios de Visual Studio, y Rider para desarrolladores de Unreal Engine y juegos en C++.

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

Los ingenieros prefieren sin duda escribir código a realizar pruebas para ese código, y el tiempo dedicado a escribir pruebas supera cualquier beneficio real a largo plazo.

Guy Davidson

Head of Engineering Practice, Creative Assembly

La estadística de que una cuarta parte de los desarrolladores no escribe pruebas de unidad me pone los pelos de punta. No me importa mucho cómo las expreses o qué marco de trabajo utilices, pero todos necesitamos escribir pruebas.

Titus Winters

Ingeniero principal en Google

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

Aquí se refleja la situación actual del empaquetado de código C++ para consumo de terceros. Espero que este problema se resuelva, pero no soy optimista al respecto.

Guy Davidson

Head of Engineering Practice, Creative Assembly

El estado de la gestión de dependencias y paquetes me entristece. El valor de las compilaciones reproducibles y las cadenas de dependencia claras es enorme. En este ámbito hay mucho «parece que funciona».

Titus Winters

Ingeniero principal en Google

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

Tengo constancia de que comparo CMake con el síndrome de Estocolmo para los ingenieros de C++. Se ha convertido en el estándar de facto, para bien o para mal, como demuestra la clara ventaja que tiene sobre sus competidores.

Guy Davidson

Head of Engineering Practice, Creative Assembly

¿Qué compiladores utiliza habitualmente?

En CLion, puede utilizar compiladores basados en GCC, Clang, MSVC e IAR. Para casos poco frecuentes o personalizados, una función de compilador personalizado le permite utilizar cualquier compilador arbitrario en CLion.

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

La ubicuidad de Python como lenguaje de programación para IA y ML significa que no hay sorpresas aquí. La existencia de bibliotecas de calidad como numpy y pandas hace que sea una elección obvia. Quizá necesiten análogos en la biblioteca estándar, o tengamos que resolver el problema del empaquetado.

Guy Davidson

Head of Engineering Practice, Creative Assembly

¿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?

Con solo un 30 % de personas que evitan el análisis estático, confío razonablemente en que el código abierto será cada vez más seguro.

Guy Davidson

Head of Engineering Practice, Creative Assembly

¿Cómo ejecuta usted o su equipo el análisis del código?

¿Qué herramientas o técnicas utiliza para optimizar los tiempos de compilación de sus proyectos C++?

Lo pequeño es hermoso en este caso. Me interesa ver cómo interactúan las cabeceras precompiladas, los módulos y los builds de unity en el próximo año.

Guy Davidson

Head of Engineering Practice, Creative Assembly

¡Gracias por el tiempo que nos ha dado!

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

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