Rust

Compartir:

Las preguntas de esta sección solo se han mostrado a los desarrolladores que seleccionaron Rust como uno de los lenguajes que utilizan.

¿Qué uso le da a Rust?

Florian Gilcher

Director general de Ferrous Systems

Me gustan estos números. Rust está creciendo, y el hecho de que las cifras relativas aquí se mantengan significa tanto más puestos de trabajo como un grupo saludable de recién llegados que pueden ser contratados en esos puestos. Mi recomendación para la gente con puestos que cubrir: abandone el «requisito de X años de Rust» y accederá a un grupo de aficionados con talento que a menudo ya son codificadores profesionales. Hay una vía saludable para el crecimiento.

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

Rust avanza a paso firme en el mundo laboral, con un número cada vez mayor de implantaciones en producción. Al mismo tiempo, la demanda de puestos de trabajo en Rust sigue siendo significativamente mayor que el número de puestos vacantes. No es lo ideal para los desarrolladores que buscan su primer puesto en Rust, pero sin duda es una buena noticia para los empleadores: hay mucho talento ahí fuera dispuesto a aprovechar la oportunidad de trabajar con Rust a diario.

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

Las respuestas a esta pregunta me muestran que existe un equilibrio vibrante y mucha diversidad dentro de la comunidad de Rust.

Es alentador ver que un número cada vez mayor de desarrolladores de Rust puede cobrar por Rust. Comparando 2023 con 2022, vemos un cambio de 11 puntos porcentuales en un solo año.

Aunque pueda parecer descorazonador que solo una de cada cinco personas consiga utilizar Rust en el trabajo, esto es coherente con un gran número de personas que está aprendiendo el lenguaje. Cuando mucha gente es nueva en el lenguaje, es muy difícil que esa estadística supere el 50 %.

Creo que es realmente saludable que la gente esté utilizando Rust para sus proyectos secundarios personales. Esto significa que la gente está optando por Rust como salida creativa.

¿Cuánto tiempo lleva utilizando Rust?

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

Una gran inclinación hacia los programadores más nuevos es indicativa de una comunidad que crece exponencialmente.

Una cosa que deben recordar los líderes de la comunidad es que más del 75 % de las personas que utilizan Rust tienen menos de un año de experiencia en el lenguaje.

Me gustaría ver que más proyectos importantes del ecosistema aumentan su número de colaboradores. Hay muchos contenedores importantes mantenidos actualmente por un solo desarrollador.

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

Rust goza de una gran retención: ha sido votado como el lenguaje de programación más querido en StackOverflow durante siete años consecutivos, lo que significa que los desarrolladores que aprenden Rust quieren seguir utilizándolo.

Al mismo tiempo, podemos ver que la afluencia de nuevos desarrolladores al ecosistema Rust sigue siendo fuerte: más de la mitad de los encuestados acaban de empezar con Rust (<6 meses).

¡Una alta retención y una saludable afluencia de recién llegados es una gran noticia para el ecosistema en su conjunto!

Florian Gilcher

Director general de Ferrous Systems

Se trata de una buena noticia, sobre todo para los recién llegados. Si se empieza con Rust ahora, hay muchas posibilidades de convertirse en un experto en la materia, en comparación con otros lenguajes en los que cada equipo tiene un compañero con 10 años de experiencia o más. ¡El mejor momento para escoger Rust es ahora!

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

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

Más de la mitad de los encuestados trabajan en proyectos políglotas, aprovechando Rust junto con otras tecnologías. En función del lenguaje de programación, podemos hacer suposiciones sobre los patrones predominantes: un front-end JavaScript/TypeScript respaldado por una API de Rust, extensiones nativas (Rust+Python), proyectos de lenguaje mixto (C/C++) e interacciones over-the-wire entre microservicios (Go, Python, C#, Java, etc.).

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

Es maravilloso ver que Rust juega bien con otros. Puedo ver la influencia del uso de Rust para backends web (JS/TS, SQL) y CLI (lenguajes de script en Shell) aquí.

Que Rust se utilice para extender, o al menos se utilice junto con, lenguajes JVM, y en menor medida lenguajes construidos con el CLR (C#), es una señal muy interesante. Espero que a medida que crezca la adopción comercial, aumente la presión por garantizar que Rust sea capaz de funcionar bien en sistemas que compilen varios lenguajes.

¿Desde qué lenguaje de programación ha migrado a Rust?

Florian Gilcher

Director general de Ferrous Systems

El resumen de las estadísticas anteriores sigue siendo el mismo a lo largo de los años: Rust ha sido y sigue siendo un lenguaje que no solo atiende a la multitud de programadores de sistemas, ¡sino que tiene un alcance mucho mayor!

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

¡Vaya! La proporción de «No ha sustituido a ningún lenguaje de programación» es mucho mayor de lo que esperaba, quizá 10 veces mayor o más.

Es una buena señal de que Rust se está haciendo más accesible. Pero refuerza mi creencia personal de que nosotros, como comunidad, necesitamos mejorar en la enseñanza de Rust.

¿Cómo interacciona el código de Rust con otras partes?

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

Esperaba que WebAssembly/WASI apareciera aquí, pero ¡un 22 % es mucho más de lo que habría supuesto!

Sería interesante profundizar en los patrones de interoperabilidad que permite WebAssembly. ¿Se trata de ampliar las bases de código Rust con complementos proporcionados por el usuario y escritos en un lenguaje arbitrario? ¿O estamos viendo Rust para escribir componentes ejecutados por otras aplicaciones? ¿O estamos siendo testigos del éxito del experimento Spin/Fermyon, creando aplicaciones a partir de módulos WebAssembly escritos en diferentes lenguajes de programación?

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

¡Rust para backends web!

Es interesante el descenso en la proporción de proyectos que utilizan FFI.

Estoy deseando ver cómo WebAssembly sigue fortaleciéndose. Los módulos Wasm proporcionan una fuerte barrera contra los ataques a la cadena de suministro, que es un área en la que el ecosistema de código abierto de Rust es actualmente bastante vulnerable.

Florian Gilcher

Director general de Ferrous Systems

La diversidad de opciones de integración utilizadas en la práctica es asombrosa. Además, dado que la mayoría de los proyectos tienen algún tipo de componente de integración, me gustaría ver más ojos puestos en la amplia integración de Rust en otros sistemas.

¿Qué complementos o utilidades emplea en su IDE para Rust?

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

La verdadera sorpresa aquí es que haya tan pocas opciones comerciales disponibles. Aplaudo a JetBrains por ser proactivo en su apoyo a Rust durante muchos años.

Florian Gilcher

Director general de Ferrous Systems

Me alegra ver que las dos principales opciones de editor están prosperando. rust-analyzer parece haberse hecho con los restos del descatalogado RLS/Racer, mientras que IntelliJ Rust sigue siendo la opción preferida para quienes desean una experiencia integrada.

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

Hace un año, rust-analyzer se unió a la organización Rust y reemplazó oficialmente a RLS como servidor de lenguajes «oficial», la culminación de un proceso que comenzó hace más de dos años. La encuesta confirma que la base de usuarios de RLS se está pasando finalmente a rust-analyzer, pero también sirve como un recordatorio para reflexionar: migrar todo un ecosistema es un proceso complejo y lento, por muy superior que sea la alternativa y por mucha presión o coordinación que se despliegue.

¿Qué IDE o editores utiliza para el desarrollo en Rust?

¿Qué funcionalidades de Rust echa más de menos en los IDE?

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

¡Revisar esta lista de funcionalidades me hace querer mucho más de mi IDE! Yo también tengo esperanzas en la visualización de por vida, pero me pregunto si será útil en casos complicados. Puede que acabe siendo otro minilenguaje que tendré que aprender a interpretar.

Estoy impresionado por la alta valoración de las macros de procedimiento. ¡No me había dado cuenta de que tanta gente estaba escribiendo sus propias proc-macros!

Una cosa que JetBrains podría ofrecer sería una experiencia similar a GitHub Codespaces. Me encanta utilizar escritorios en la nube, pero suelo ser reacio por el precio.

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

Empecemos por lo positivo: un tercio de los encuestados están contentos con el estado de compatibilidad de los IDE con Rust. ¡Eso es muchísimo!

Sin embargo, no todo es de color de rosa. Tenemos que hacer más para ayudar a los usuarios con aquellos aspectos que son exclusivos de Rust, como los tiempos de vida. Las macros procedimentales son un reto constante: son omnipresentes en bases de código complejas, debido a su utilidad, pero degradan significativamente la experiencia del IDE cuando se utilizan de forma extensiva.

Una vez que estas construcciones básicas del lenguaje estén bien cubiertas, me entusiasmaría ver cómo los IDE se ramifican hacia casos de uso más especializados (como la compatibilidad integrada con marcos de trabajo web específicos).

¿Qué sistemas de compilación utiliza para compilar Rust?

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

¿¡El 6 % de los encuestados utiliza Make para sus compilaciones!? Vaya, a algunos realmente les encanta aferrarse a sus viejas herramientas. Una cosa que he notado acerca de los desarrolladores es que prefieren indudablemente mantener el control.

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

No es ninguna sorpresa: Cargo reina cuando se trata de proyectos Rust.

¿Cómo suele depurar su código Rust?

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

El panorama no ha cambiado mucho en comparación con el año pasado: la depuración println! tiene la barrera de entrada más baja y sigue siendo la técnica líder entre los encuestados. Definitivamente tenemos una brecha de herramientas aquí, pero creo que esa no es toda la historia; también tenemos una brecha educativa. Hay muy poco material sobre cómo enseñar a la gente a aprovechar las herramientas de depuración existentes.

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

¡No hay que avergonzarse por utilizar println! (para que suene bien, podría llamarlo depuración de rastreo). Pero es agradable que los desarrolladores del IDE hayan invertido tanto esfuerzo en hacer que la depuración real sea muy fácil de usar. Aprender a utilizar un depurador para recorrer paso a paso la ejecución de un programa es un verdadero impulso a la productividad.

Florian Gilcher

Director general de Ferrous Systems

Me frustra esta situación. Creo que una mejor experiencia de depuración es posible, y los IDE parecen ser un buen camino hacia ella. Sin embargo, la práctica me parece bastante estancada con el paso de los años. Esto se muestra en el hecho de que «simplemente imprimir en la consola» sigue siendo la opción preferida.

¿Qué herramientas de generación de perfiles utiliza para Rust?

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

Se trata de un fuerte aumento del número de desarrolladores que utilizan un generador de perfiles en sus proyectos de Rust.

Se debe casi por completo al mayor uso del generador de perfiles incluido en el IDE: cuando hacemos que las herramientas potentes sean fáciles de usar, los desarrolladores las aprovechan.

No obstante, aún nos queda mucho trabajo por hacer. Deberíamos ser capaces de perfilar las aplicaciones en nuestros entornos de producción con la misma facilidad, pero aún estamos bastante lejos de una gran experiencia para el desarrollador en ese aspecto.

Florian Gilcher

Director general de Ferrous Systems

La relativa popularidad de los generadores de perfiles empaquetados valida mi suposición general de que a menudo no se realizan perfiles porque no son fácilmente accesibles.

¿Qué tipo de proyectos desarrolla en Rust?

Luca Palmieri

Consultor principal de ingeniería de Mainmatter

Por eso me encantan las encuestas: desafían las narrativas predominantes con el poder de los datos en bruto.

Rust rima con «programación de sistemas» en la mente de la mayoría de la gente, pero la realidad es mucho más matizada: el 38 % de los encuestados lo está utilizando para el desarrollo web, en contra de la narrativa de que Rust «es exagerado» o «demasiado difícil» para este uso. Creo firmemente que esta es la próxima gran vertical para Rust, y será interesante ver la confirmación de esta corazonada en los datos.

Florian Gilcher

Director general de Ferrous Systems

Me alegra ver que con todo el crecimiento que se está produciendo en Rust, su uso en sistemas integrados/IoT se mantiene al mismo nivel. La sorpresa positiva de este año para mí es el aumento del uso en aplicaciones de escritorio: siempre hay una cifra que no coincide con lo que uno intuye. Que las cifras no cambien mucho entre sí apunta a un ecosistema relativamente formado y estable que va hacia alguna parte.

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

Es genial ver el amplio espectro de proyectos. Una cosa que me encanta del lenguaje es que sus garantías de seguridad dan a la gente la confianza para experimentar en dominios que antes eran inaccesibles.

¿Para qué plataforma desarrolla sus proyectos en Rust?

Tim McNamara

Fundador de Accelerant.dev, autor de Rust in Action

Es realmente fascinante ver la diversidad que hay aquí. Hubiera esperado que la proporción de Linux del lado del servidor fuera mucho mayor, bastante por encima del 90 %. Supongo que esto se corresponde con un gran número de personas que utilizan Rust para crear CLI y una mayoría de desarrolladores que lo utilizan como hobby y para proyectos paralelos.

La proporción de desarrolladores de sistemas incrustados parece muy alta. Yo considero lo incrustado como un nicho bastante reducido, pero está claro que existe un grupo amplio y dedicado de personas que utilizan Rust para proyectos que no dependen de un sistema operativo.

Florian Gilcher

Director general de Ferrous Systems

De nuevo, aquí no hay sorpresas. La continua adopción de Rust en las empresas más conservadoras aumenta la relevancia de Windows como objetivo.

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