Rust el lenguaje de programación de Mozilla

La razón por la que muchos conocemos el lenguaje Rust es por que detrás de él está Mozilla. Aunque muchos lo están conociendo en estos 2 últimos años, pero en realidad tiene mas tiempo: oficialmente salió a la luz en el 2010.

Los proyectos en producción con Rust pueden dividirse en cliente y servidor. Rust, además, es el lenguaje más querido por los desarrolladores según la encuesta de este año de Stackoverflow.

Antes de hablar de Rust mas a detalle algo que puede preguntarse el lector es si vale la pena. Compañías como Coursera, Dropbox, GNOM, NPM y otros están empezando a utilizar Rust en sus proyectos. Dropbox, por ejemplo, lo esta usando en sus clientes de Windows, así que ya tenemos millones de implementaciones que están usando Rust.  GNOME lo esta utilizando en librsvg. NPM lo esta utilizando para el trabajo con paquetes de Javascript.

Características de rust.

Todo desarrollador que pasó por C y C++ debe de ver en Rust un primo muy cercano, la sintaxis es muy similar, es decir que estaríamos encontrando las clásicas llaves y bloques de código como las condicionales y los ciclos. 

Para las variables contamos con la inferencia de tipos, así que no siempre le tendremos que decir que tipo de dato es, pero para que esto se aplique tendremos que utilizar la palabra let. Para permitir que una variable sea mutable tendremos que agregar la palabra mut a la palabra let en la definición de la variable.

Rust no nos permite, como ya lo hacen ahora muchos lenguajes, utilizar un valor que no haya sido inicializado previamente. Algo que también se repite en otros lenguajes de programación es que al menos necesitamos una función de inicio (la famosa función main). Ahora viene una característica importante, Rust es un lenguaje basado en expresiones, de hecho existen 2 tipos de sentencias y todo lo demás son solo una expresión.

Los 3 objetivos que tiene Rust son velocidad, concurrencia y seguridad. A diferencia de lenguajes como Java y de ese tipo podemos ver que Rust no tiene un garbage collector.

Las abstracciones a cero costo son la herramienta más importante que permite que la seguridad y velocidad se mantenga en un estándar elevado y fácil para implementar. En la documentación se menciona (y muchos desarrolladores también) que uno de los problemas es la curva de aprendizaje. Algunas reglas que implementa Rust son diferentes a las que estamos acostumbrados por lo que en un inicio pasaras horas peleando y entendiendo al compilador, aunque ¿quién no ha pasado horas peleando con un compilador? En resumen cualquier programador pasa por esa etapa.

Conclusión

Las principales características de Rust son la seguridad, concurrencia y velocidad. Lo podemos notar en la gestión automática de guardado, la inmutabilidad por defecto, el manejo de memoria que nos permite realizar la localización de etiquetas y Stack iterators. En conclusión, este parece ser un buen momento para aprender Rust ya que están comenzando a implementarse proyectos interesantes y seguramente mas adelante encontraremos buenas ofertas de empleo.

Sigue leyendo