Mozilla es conocida sobre todo por su navegador web, Firefox. Lo que no sabe tanta gente es que son los creadores de Rust, un lenguaje de programación que se está convirtiendo poco a poco en una contribución aún más importante para la industria tecnológica.
El éxito de Rust es espectacular. Un año tras otro las encuestas lo califican como ese lenguaje que todos los programadores aman, y con razón: tiene muchas de las ventajas de los legendarios C y C++, pero sin sus problemas de gestión de memoria. Eso, dicen algunos, podría convertirlo en sucesor de esos legendarios lenguajes.
Un lenguaje que recupera ideas de los 80 y las adapta a los nuevos tiempos
Rust dio sus primeros pasos en 2006: fue entonces cuando al ingeniero de Mozilla Graydon Hoare se le ocurrió que la industria necesitaba un nuevo lenguaje de programación.
Como él mismo explicaba en 2012, "un montón de buenas ideas, conocidas y queridas en otros lenguajes, no se habían aprovechado en lenguajes usados a amplio nivel, o se integraron en lenguajes que tenían modelos de memoria muy pobres".
Eso hizo que a él se le ocurriera "revivir algunas de esas ideas de los 70 y los 80 y tratar de darles otra oportunidad con la teoría de que las circunstancias habían cambiado: internet es altamente concurrente y consciente en el ámbito de la seguridad, así que los sacrificios que tradicionalmente se hacían en favor de C o C++ (por ejemplo) habían cambiado".
Su proyecto creció y creció hasta que en 2009 Mozilla acabó impulsándolo y lo anunció 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.
Lo curioso es que la reciente reestructuración de Mozilla y el despido de 250 empleados acabó haciendo que algunos de los desarrolladores clave de Rust crearan una fundación que ha acabado siendo parte fundamental del futuro de este lenguaje de programación.
Facebook es la última en confesar su amor, Linux empieza a hacerle ojitos
Varias son las grandes empresas tecnológicas que ya se han unido a esa fundación: entre ellas están Mozilla, AWS, ARM, GitHub, Microsoft, Google (a través de Google Cloud y Android) o la última en llegar, Facebook, que anunciaba ayer su apoyo a esta iniciativa de forma oficial.

En el blog de Facebook incidían de nuevo en esa virtud de Rust, que para los desarrolladores "ofrece el rendimiento de viejos lenguajes como C++ con un foco más claro en la seguridad del código". La empresa confesaba estar usándolo desde 2016, un año después de que Rust llegara a su versión 1.0.
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".
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.
Ver 16 comentarios
16 comentarios
sanamarcar
Dudo mucho que pueda con C y C++, es que es lo mismo de siempre una y una otra vez. Ni que el hardware fuera tan listo para andar cambiando tanto de lenguaje, y con matices... Luego necesitamos 2GB para navega y ver 4 fotos... Ventajas de lo moderno.
juliosao
Qué queréis que os diga. Será la bomba pero su sintaxis me resulta mas fea que pegar a un padre con un calcetín sudado...
josemicoronil
Pienso que C difícilmente dejará de ser el lenguaje con el que se programan los sistemas operativos, dispositivos empotrados, y en general cualquier cosa que requiera acercarse mucho al hardware, ya que una de sus "debilidad" es su gran fortaleza en este entorno, el poder tocar la memoria como te de la gana.
Por otra parte, Rust tiene dos grandes oportunidades: La de ocupar la posición de un lenguaje moderno para aplicaciones de escritorio y la de poder ser el lenguaje a usar cuando WebAssembly sea soportado de forma nativa en la mayoría de navegadores actuales.
El ser el lenguaje moderno para aplicaciones de escritorio lo veo difícil con el uso cada vez más extendido de Electron y framework similares, pero en el segundo caso creo que podría tener bastantes oportunidades, y ojalá que ocurra. Eso significaría conseguir a largo plazo aplicaciones webs que ocuparan menos y/o que funcionaran más rápido en nuestros navegadores.
ema94
Es facil hacer crosscompiler en Rust ?, vengo usando Golang desde hace un tiempo principalmente porque amo lo facil que es crear binarios sin dependencias y para cualquier plataforma con solo modificar un parametro.
avfenix55
Pues la frase aparecida en este artículo: "tiene muchas de las ventajas de los legendarios C y C++, pero sin sus problemas de gestión de memoria." es aplicable también a C# por ejemplo. ¿Qué tiene Rust que no tenga C#?
danielmarin2
Se está convirtiendo en el lenguaje de moda porque no dejáis de darle bombo para que lo sea. Yo cada vez que veo esto ya pienso directamente que será un fiasco y por eso necesita tanta propaganda.
Java es otro lenguaje de moda y no por eso es mejor que c++, de hecho consume recursos como un camión y cada vez que he tenido que trabajar con él me ha dado problemas.
cristianmolina
Zig es también muy interesante como lenguaje de sistemas aunq su manejo de memoria es mas manual sí es más sencillo y parecido a C/C++.,claro q no es tan maduro ni conocido.
drasius
Yo utilizo google dart para aplicaciones CLI y programas servidor sobre todo por su facilidad para los futuros o promesas y streams. Y sobre todo porque se pueden compilar y ejecutar sobre windows, linux, android, web . Realmente para arm32, arm64, x86_64 y javascript con un único código.