C++

Compartir:

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

Compartir:

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

Diego Rodríguez-Losada González

Lead Architect, JFrog

No hay sorpresas en el nivel de adopción de C++23 y las normas anteriores: los patrones de adopción son prácticamente los mismos que en los últimos años, solo que con una ventana temporal en movimiento. C++23 muestra una adopción del 10 % en 2023, algo inferior a la adopción de C++20 en 2020 (12 %), lo que probablemente esté relacionado con el número de novedades que aportaba C++20 en comparación con C++23.

Inbal Levi

Ingeniero jefe de software de MPGC Services Ltd (Millennium), miembro del comité del WG21

Es estupendo ver que una parte tan importante de la industria de los juegos y los sistemas integrados trabaja ya con C++20. Esta versión amplía las capacidades en tiempo de compilación, lo que es muy beneficioso para estas industrias con mucho énfasis en el rendimiento en tiempo de ejecución. Espero ver tasas de adopción similares para C++23 en los próximos años.

Bryce Adelstein Lelbach

Arquitecto principal de NVIDIA

Un gran salto en la adopción de C++20 tiene sentido, ya que las implementaciones se han hecho mucho más maduras y completas. Creo que veremos un gran cambio de C++17 a C++20 como dialecto «base» para gran parte de la comunidad en los próximos años.

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

Diego Rodríguez-Losada González

Lead Architect, JFrog

¿El 57 % de los que utilizan C++98/03 no piensan pasarse a otro estándar? Eso podría ser decepcionante, pero dado que, en general, únicamente el 8 % de los encuestados siguen con C++98/03, significa que solo alrededor del 4 % del código C++ del mundo se queda con ese antiguo estándar, lo que no está mal y es similar a otros lenguajes de programación.

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

Diego Rodríguez-Losada González

Lead Architect, JFrog

Aunque últimamente se ha avanzado mucho en los sistemas de compilación y en el ecosistema para dar soporte a los módulos C++20, la mitad de los encuestados que planean utilizar módulos C++20 (supongo que en producción) en el próximo año me parece demasiado optimista. No creo que lleguemos a ese punto en los próximos 12 meses.

Inbal Levi

Ingeniero jefe de software de MPGC Services Ltd (Millennium), miembro del comité del WG21

Me alegra mucho ver el rápido ritmo de adopción de funciones en el mundo de los sistemas integrados, que tradicionalmente ha sido conocido por adoptarlo todo con lentitud. Creo que esto también está relacionado con las grandes ventajas que C++20 puede aportar al ámbito de los integrados.

Bryce Adelstein Lelbach

Arquitecto principal de NVIDIA

Me pregunto cuánta gente ha intentado realmente utilizar los módulos. Hay mucho interés pero no tanta adopción.

¿Qué IDE o editor utiliza más para el desarrollo en C++?

Diego Rodríguez-Losada González

Lead Architect, JFrog

El mercado está claramente dominado por Microsoft y JetBrains. Parece que el rápido crecimiento de VS Code por fin se está ralentizando (al menos entre el público de C++) y ha empezado a estabilizarse en cuotas iguales para los tres principales actores: CLion, VS y VS Code.

¿Qué marcos de trabajo de pruebas de unidad utiliza habitualmente, en caso de hacerlo?

Diego Rodríguez-Losada González

Lead Architect, JFrog

El 29 % sigue sin escribir pruebas de unidad para su código C++, lo cual es triste. Aunque la cifra siga disminuyendo lentamente con el paso de los años, no es lo suficientemente rápido. El futuro del lenguaje también depende de que se arreglen cosas como esta.

Inbal Levi

Ingeniero jefe de software de MPGC Services Ltd (Millennium), miembro del comité del WG21

Me sorprende ver el número de desarrolladores que escriben pruebas de unidad sin marcos de trabajo. El comité se está esforzando por promover el tema de los gestores de paquetes, lo que espero que repercuta en la reducción de estas cifras en los próximos años, tanto para los que no escriben pruebas de unidad como para los que lo hacen sin marco.

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

Diego Rodríguez-Losada González

Lead Architect, JFrog

Es bueno ver que cada vez menos desarrolladores compilen manualmente bibliotecas siguiendo sus instrucciones. Cabe esperar que el uso de soluciones automatizadas reduzca aún más esta práctica, exclusiva de los ecosistemas C y C++.

Inbal Levi

Ingeniero jefe de software de MPGC Services Ltd (Millennium), miembro del comité del WG21

Creo que esto es un gran indicio de que es necesario un amplio apoyo a los gestores de paquetes en toda la comunidad C++.

Bryce Adelstein Lelbach

Arquitecto principal de NVIDIA

Tarde o temprano, puede que alcancemos un punto de inflexión en el que estos gestores de paquetes (vcpkg, Conan, etc.) sean lo suficientemente maduros y se utilicen lo suficiente como para convertirse en un estándar de facto. Pero aún no hemos llegado a ese punto.

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

Bryce Adelstein Lelbach

Arquitecto principal de NVIDIA

Es muy interesante ver cómo CMake pierde cuota de mercado y Ninja la gana. Yo no conocía esta tendencia. Tal vez no sea representativo, pero dado el rápido crecimiento de CMake hasta ahora, estos datos sugieren que ha alcanzado el pico de saturación.

¿Qué compiladores utiliza habitualmente?

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

Diego Rodríguez-Losada González

Lead Architect, JFrog

Python es otra herramienta muy útil para la caja de herramientas de los desarrolladores de C++.

Bryce Adelstein Lelbach

Arquitecto principal de NVIDIA

Parece que la tendencia es utilizar más JavaScript y Rust en combinación con C++. Dada la creciente popularidad de Rust, es sorprendente que no haya un crecimiento más rápido de Rust + C++. Eso sugiere que puede ser más difícil utilizar Rust en los proyectos existentes (en contraposición a los nuevos proyectos).

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

Bryce Adelstein Lelbach

Arquitecto principal de NVIDIA

Creo que la disminución de las herramientas de análisis proporcionadas por IDE aquí es indicativa de los usuarios que incorporan el análisis estático en su CI, como la ejecución del analizador estático Clang-tidy/ClangFormat/Clang en GitHub Actions.

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

Diego Rodríguez-Losada González

Lead Architect, JFrog

Hace cinco a diez años, el mercado de IDE de C++ estaba dominado esencialmente por un producto, Visual Studio, que era específico de Windows. La gente solía desarrollar en Windows únicamente para tener acceso a un buen IDE. Hoy en día, tenemos dos grandes proveedores en este espacio ―JetBrains y Microsoft―, lo que es estupendo para los usuarios. Con Visual Studio Code y CLion, los IDE son ahora mucho más accesibles para los desarrolladores que no trabajan con Windows.

¡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.

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.

Datos brutos Próximamente

Estamos preparando los datos brutos. Puede dejarnos su dirección de correo electrónico para que le avisemos cuando estén disponibles para su descarga.

By submitting this form I agree to the JetBrains Privacy Policy

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