Uno de los lenguajes de programación que se vuelve más popular entre los desarrolladores es Rust, de acuerdo a la encuesta anual de Stack Overflow en la que participan miles desarrolladores de todo el mundo, Rust ha sido calificado como el lenguaje de programación más «amado» durante siete años consecutivos., así que es un buen momento para conocer algunos de los beneficios que ofrece .
Antes se debe tener presente que Rust es un lenguaje de programación moderno que se centra en la seguridad y el rendimiento de los subprocesos. A diferencia de muchos lenguajes de programación de nivel superior, no hay una recolección de basura ni una máquina virtual en Rust. En cambio, Rust aborda problemas conocidos de lenguajes de programación de bajo nivel establecidos desde hace mucho tiempo, como C o C ++. Al mismo tiempo, es conocido por su pronunciada curva de aprendizaje, lo que hace que muchos desarrolladores eviten profundizar en Rust.
Aquíe veremos algunas razones para que los desarrolladores se adentren a Rust, que pese a su complejidad, tiene beneficios que facilitarán el día a día:
- Es un lenguaje de bajo nivel con abstracciones de nivel superior
El lenguaje de bajo nivel Rust es tan eficiente que puede prescindir de la recolección automática de basura. Sin embargo, ofrece el rendimiento de C y C ++, pero sin las trampas que los desarrolladores deben conocer y considerar en el trabajo.
Los desarrolladores detrás de Rust querían crear un lenguaje que hiciera la programación a nivel de sistema más segura y concurrente, es decir, la ejecución simultánea de varios cálculos, instrucciones o comandos. Tanto la seguridad de la memoria como los errores de simultaneidad ocurren cuando el código accede a datos a los que no se debe acceder en ese momento.
- El administrador de paquetes
Rust es uno de los pocos lenguajes de programación que tiene un administrador de paquetes integrado. El administrador de paquetes se llama Cargo y es valorado por los desarrolladores debido a su facilidad de uso comparativamente simple. Con TOML, utiliza una sintaxis fácilmente comprensible que se puede aprender rápidamente gracias a su semántica precisa.
En Rust, a diferencia de JavaScript, por ejemplo, los desarrolladores no necesitan configurar scripts de compilación; el administrador de paquetes compila y vincula automáticamente bibliotecas y programas. Las compilaciones de producción y desarrollo no tienen que configurarse en Rust, y los desarrolladores de Rust no tienen que preocuparse por la compatibilidad de la plataforma.
El hecho de que no necesite construir scripts no significa que no sean posibles. Los scripts de compilación se utilizan, por ejemplo, cuando se vinculan a bibliotecas C o C ++ y se pueden personalizar cuando sea necesario. Cargo tiene pruebas de integración y unidad integradas. A diferencia de otros lenguajes, en los que los desarrolladores a menudo tienen muchos conjuntos de pruebas a su disposición, que ellos mismos deben aprender, esta es una gran ventaja.
- El compilador
El compilador de Rust está bien concebido y tiene muchas características de las que carecen otros compiladores. Por un lado, la salida está codificada por colores, lo que contribuye significativamente a su legibilidad. La salida del error es muy detallada: el compilador proporciona mucho contexto, lo que facilita a los desarrolladores encontrar la causa. En muchos casos, le dice qué causa el error y dónde puede encontrar la causa, resaltando el código relevante y mostrándolo directamente en el terminal, acompañado de más explicaciones. En muchos casos, incluso proporciona una solución para el error. Si eso no es posible, al menos sugerirá un comando – rust –explain [código de error], que puede usar para mostrar más explicaciones. A diferencia de otros idiomas, este comando no solo muestra una URL; en cambio, la documentación se abre directamente dentro de la terminal.
- En general: el diseño del lenguaje de programación
Rust es un lenguaje de programación diseñado con los requisitos actuales en mente. Rust tiene métodos como map (), filter () y find (), y Clojures en Rust recuerda más al flujo de trabajo de devolución de llamada en JavaScript que al de C ++. El hecho de que el lenguaje de programación tenga estas características es aún más impresionante, dado que aún puede lograr el rendimiento de C o C ++.
El enfoque de seguridad primero de Rust dificulta la vida de los estudiantes. Aún así, en última instancia, sólo se puede ganar algo positivo, y sí, con respecto a la experiencia del desarrollador: Rust obliga a los programadores a lidiar intensamente con el uso de la memoria. Esto contribuye a que Rust tenga una curva de aprendizaje pronunciada, pero también significa que las aplicaciones de Rust son muy seguras y menos propensas a errores, lo que en última instancia significa menos depuración para usted. Es probable que la seguridad de la memoria de Rust sea una de las principales razones del creciente interés en el lenguaje de programación compatible con Mozilla.
Tan sólo en octubre de 2020 AWS invirtió fuertemente en Rust. Según los últimos informes, Microsoft muestra un gran interés en Rust, al contribuir para desarrollar el lenguaje y usarlo para sus productos en el futuro. Según una publicación de blog del equipo de seguridad interno de 2019, alrededor del 70% de los problemas de seguridad a los que el Equipo de Respuesta de Seguridad de Microsoft asigna un número CVE (el acrónimo significa Vulnerabilidades y Exposiciones Comunes) están directamente relacionados con la seguridad del almacenamiento.
imagen: @diana.grytsku