Rust
Un lenguaje rápido cuyo compilador se niega a armar código con errores de memoria.
Rust es un lenguaje de programación que arrancó en Mozilla y llegó a la versión 1.0 en 2015. Apunta a los mismos trabajos que C y C++: sistemas operativos, navegadores, bases de datos, motores de juegos, dispositivos embebidos, todo lo que necesita velocidad y control sobre la memoria. Lo que lo distingue es que está diseñado para evitar toda una familia de errores de memoria que vienen complicando a esos lenguajes hace décadas.
En C y C++ quien programa maneja la memoria a mano, y errores chiquitos, como usar memoria después de liberarla o escribir más allá del final de un buffer, provocan cuelgues y muchos agujeros de seguridad graves. Lenguajes como Java o Python lo evitan con un recolector de basura, que cuesta algo de velocidad y de previsibilidad. Rust toma un tercer camino: reglas estrictas sobre qué parte del código es dueña de cada dato y quién lo puede tomar prestado. El borrow checker del compilador hace cumplir esas reglas, así que la mayoría de esos errores directamente no compila, y el programa final corre tan rápido como C.
El precio es una curva de aprendizaje empinada: el compilador dice que no seguido, sobre todo al principio. Aun así, Rust ganó terreno rápido. Está en el kernel de Linux, en Windows y en Android; empresas como AWS, Cloudflare y Microsoft lo usan en servicios críticos; y agencias de seguridad recomiendan lenguajes con seguridad de memoria como él para el código nuevo. Viene con cargo, una herramienta que compila los proyectos y maneja las librerías.
Para quedarse
- Tan rápido como C y C++, sin recolector de basura.
- El borrow checker rechaza la mayoría de los errores de memoria al compilar.
- Se usa en Linux, Windows, Android e infraestructura de nube.
- Cuesta más aprenderlo que la mayoría de los lenguajes, sobre todo al principio.