Tag: Rust

La vigésima edición de Developer Economics reveló en su estudio que JavaScript es el lenguaje de programación más popular con bastante diferencia, casi 14 millones de desarrolladores a nivel mundial (de 24,3 millones activos) frente al resto. Asimismo, se destaca a dos lenguajes de programación Rust y Lua que, a pesar de ser aún desconocidos, han sido los que más han crecido en los últimos 12 meses. Por este motivo, queremos ahondar más en Rust, un lenguaje de programación que además de su reciente crecimiento, grandes empresas como Facebook y Microsoft están interesados en él.

Antes de desglosaros qué ventajas posee este lenguaje de programación de sistemas de código abierto, veamos brevemente un poco cómo fue su origen. Rust nace gracias a Mozilla Firefox en el año 2006, de la mano de Graydon Hoare, quien buscaba un lenguaje que permitiese escribir un código tan rápido como C o C++, eliminando los inconvenientes con el recolector de basura (garbage recollector) con el fin de evitar los problemas derivados de la gestión de memoria. Rust comienza a evolucionar gracias al impulso de Firefox y de un gran número de contribuidores de la comunidad. Sin embargo, debido a algunos problemas de capital de la compañía para asumir el proyecto, los responsables de Rust deciden independizarse creando una fundación homónima. Así nace la Fundación Rust en 2010, una nueva organización sin ánimo de lucro cuyo objetivo es dirigir y apoyar el desarrollo del lenguaje de programación Rust y su ecosistema. En la actualidad, Rust está financiada por grandes entidades como Amazon AWS, Microsoft Azure, Google Cloud, Facebook y, desde sus inicios, Mozilla Firefox.

¿Qué ventajas vienen de la mano de Rust?

Interoperabilidad fácil y segura de Rust con C++

Existe una gran cantidad de código C++ que es necesario para comunicarse con los sistemas de back-end en los que se basan los servicios. Por lo que es necesario que los desarrolladores puedan utilizar estas bibliotecas de forma segura y sencilla sin sacrificar los beneficios que ofrece Rust. Además, si se desea ver los componentes de Rust integrados con los binarios de C++ más grandes, se necesita una interoperabilidad inteligente en tiempo de ejecución en código asincrónico.

Asegurar una excelente gestión de memoria

Tal como hemos comentado antes, Rust  garantiza la seguridad de la memoria sin un recolector de basura. Si se llena una memoria, se produce un error en el sistema y, por lo tanto, una brecha que puede ser explotada. Un «garbage recollector» asegura que los objetos innecesarios desaparezcan de la memoria pero, claro está, esto hace que la ejecución del cogido se ralentice. Sin embargo, Rust somprueba si puede haber errores en la memoria en tiempo de compilación por lo que el recolector de basura se queda obsoleto.

Alta velocidad y lenguajes de alto nivel. No afecta al rendimiento.

Al igual que Co C++, el lenguaje Rust está muy cerca del hardware, lo que garantiza una alta velocidad. Adicionalmente, gracias al compilador de este, se cumplen convenientemente las garantías de seguridad del resto de las validaciones que conllevan que este lenguaje sea eficiente y seguro. Si te preguntas si estas sólidas medidas de seguridad provocan una bajada del rendimiento, la respuesta es que no.  Esto se debe, como hemos dicho, a la ausencia del recolector de basura pero también debido a que Rust permite programar de manera abstracta sin afectar el rendimiento.

Fácil uso

Por último, tanto los programadores con menos conocimientos, como los profesionales, pueden aprender a utilizar Rust rápidamente. En términos de uso, el lenguaje apenas difiere de las alternativas más conocidas. Una gran ventaja es su elaborado sistema de emisión de mensajes de error: donde otros lenguajes de programación solo generan avisos crípticos, Rust proporciona consejos aplicables para solucionar los errores.

¿Quieres aprender más de Rust?

Rust cuenta con una excelente documentación en su web oficial con recursos totalmente guiados, diversos ejercicios a modo de ejemplo en su site oficial en Github y múltiples recursos en su canal oficial en Youtube.

¿Por qué está creciendo tan rápido en el ultimo año?

Probablemente, el apoyo por parte de Facebook como miembro Platinum en la Fundación Rust y el lanzamiento de «Rust for Windows’ por parte de Azure, sean indicadores que existe un interés en la comunidad de implementar este lenguaje de programación.

Lo más significativo de «Rust for Windows» es que, no sólo ofrece un ‘crate’ (componente) que permite al software desarrollado en Rust comunicarse con cualquier API de Windows, sino que lo acompaña de todo un pack de herramientas para desarrollar con Rust en Windows. Microsoft está trabajando para buscar las características de seguridad de memoria de Rust para crear un nuevo lenguaje para la programación de infraestructura segura bajo el Proyecto Verona. La versión para Windows del compilador de Rust está disponible en la web, pero si vamos a usar ‘Rust for Windows’ necesitaremos usarlo conjuntamente con Visual Studio o con Visual Studio Code (acompañado, en este último caso, de las extensiones Rust-Analyzer y CodeLLDB).