ENES

Rust

Un lenguaje rápido cuyo compilador se niega a armar código con errores de memoria.

El código pasa por el compilador de Rust, que frena un error de memoria en la puerta y solo deja pasar código seguro y rápido al programa

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

Para seguir leyendo

Términos relacionados

Más de Software