Rust es el lenguaje de moda y ya se habla en los circulos de desarrollo que se convertirá en el sucesor del legendario C
Si revisamos las últimas encuestas de stackoverflow sobre desarrolladores nos encontramos con que Rust es el lenguaje de programación más amado por los programadores.
En la actualidad existe una alta cantidad de lenguajes de programación en entornos web que permiten a la comunidad de desarrolladores elegir el que mejor se adapte a las necesidades de cada proyecto. Rust, es un lenguaje relativamente nuevo en el mercado del desarrollo de sistemas y ha destacado por ser ideal tanto para desarrolladores junior como para senior.
El lenguaje de programación Rust fue desarrollado por los ingenieros de mozila, por lo que podríamos catalogarlo como un lenguaje muy nuevo, partiendo de que la versión 1.0 estuvo disponible a principios del año 2015.
La evolucionar de Rust comenzó gracias al impulso de Firefox y la de un gran número de contribuidores de la comunidad, no solo de Mozilla.
Mozilla buscaba un lenguaje extremadamente seguro y capaz de soportar sus exigentes requisitos de rendimiento, por lo que Rust comenzó a evolucionar gracias al impulso de Firefox y la de un gran número de contribuidores de la comunidad, no solo de Mozilla. Hoy, forma una parte importante del núcleo principal del motor del navegador Servo usado por Firefox, aprovechando las bondades en cuanto a paralelismo, concurrencia y gestión eficiente de la memoria.
Año tras año todas las encuestas califican este lenguaje como el que todos los programadores admiran al tener muchas de las ventajas que poseen los legendarios C y C++, pero eludiendo sus problemas de gestión de memoria.
Rust es un lenguaje que recupera ideas de los años 70 y 80 y adapta la programación de sistemas a la modernidad.
Rust comienza su andadura en 2006, y fue entonces cuando al ingeniero de Mozilla Graydon Hoare se le ocurrió que la industria necesitaba un nuevo lenguaje de programación.
El proyecto creció exponencialmente hasta que en 2009 Mozilla acabó impulsándolo anunciandolo formalmente en 2010. Desde entonces el crecimiento de Rust ha sido imparable, y ha convencido a grandes empresas como Amazon (que lo usa en AWS), Microsoft o Google.
Rust acerca herramientas modernas al mundo de la programación de sistemas:
- Cargo. Su gestor de dependencias y sistema de generación de builds. Se encarga de la compilación y la gestión de componentes externos a nuestro código como las librerías de Rust, denominadas craters.
- Rustfmt se encarga de asegurar la consistencia del code style entre desarrolladores.
- Rust Language Server facilita la integración con diferentes IDEs para ayudar la compleción de código mostrando mensajes inline de error en el código.
Características de RUST
A continuación, te mencionamos algunas de las características de este novedoso lenguaje de programación:
- Ejecución dinámica de seguridad (errores y registros).
- Orientado a Objetos.
- Interfaz simple.
- Gestión automática de guardado.
- Inmutable.
- Compilación nativa y estática.
- Multiplataforma.
- Control de la memoria explícita.
- Permite cadenas UTF8.
- Multiparadigmático.
- Concurrente.
El atractivo de Rust está convenciendo incluso al que es el mayor proyecto jamás desarrollado en C: Linux, el sistema operativo que utiliza de forma extensiva este lenguaje y que ahora parece estar abriendo las puertas a Rust.
El propio Linus Torvalds es cauto al respecto pero confiesa que “estoy interesado en el proyecto” y quiere ver qué pasa en los próximos meses con un lenguaje que no obstante ya está comenzando a ser perfilado para usarse en el kernel. Torvalds afirmaba que aunque el soporte de Rust en Linux “aún no está fino” añadía que “se está llegando al punto en el que quizás se pueda integrar ese soporte en el kernel 5.14”.
Sus valores fundamentales son la gestión de memoria segura garantizada en tiempo de compilación, utilizando los conceptos de ownership del dato y borrowing de memoria. Además de asegurar en tiempos de compilación que no nos encontraremos con condiciones de carrera.
El papel de Rust en Linux seguirá siendo muy limitado por ahora, pero son varios los desarrolladores que están impulsando su uso por ejemplo en el desarrollo de controladores (drivers) de dispositivos.
Estamos pues ante un lenguaje de programación que parece tener un futuro brillante y que podría acabar siendo la verdadera joya de una Mozilla que inexplicablemente se ha desentendido parcialmente del proyecto.
Rust también sirve para WebAssembly y muchas más tecnologías
Lo más destacado de Rust en el mundo web es poder compilar a WebAssembly, lo cual permite ejecutar aplicaciones web en la mayor parte de navegadores, con una velocidad muy cercana a las apps nativas. WebAssembly es, sin duda, una tecnología muy prometedora, aún sin explotar del todo, dónde Rust puede aumentar su impacto. También existen herramientas que permiten distribuir código en librerías npm o convertir código JavaScript desde Rust. Lo cual podría situar a Rust como uno de los lenguajes dentro del stack futuro de muchos desarrollos webs.
La comunidad de desarrollo lleva años pendiente de este hecho: que Rust consiguiera ser un lenguaje multipropósito y se adentrará también en el mundo del desarrollo web, más allá del desarrollo interno de un navegador. De este modo, excelentemente documentado, nos encontramos con la web “Are we web yet?: n directorio de todos los recursos a día de hoy disponibles para usar con Rust. Si aún no conocías Rust, es interesante saber como dispone de un excelente stack HTTP donde podemos utilizar frameworks web como Rocket, incluso ser capaces de sustituir a Rails/Django o Flask en un futuro próximo.
También cuenta con distintas herramientas para crear APIs, conectores de bases de datos, clientes HTTP, CMS, sistemas de logging, etc.
Siempre que estemos abiertos a la posibilidad de aprender cosas nuevas y no nos quedemos en nuestra zona de confort Rust puede ser el futuro de los desarrolladores.
Si después de probar Rust no te convence el lenguaje y decides regresar a tus lenguajes de programación preferidos, de lo que estoy seguro es que tu tiempo no habrá sido desperdiciado en balde y habrás aprendido situaciones nuevas sobre concurrencia y seguridad.
Fuentes: xataka.com y genbeta.com
Comments ( 0 )