Rust
Un lenguaje de programación que se niega a compilar tu programa si contiene los errores de memoria que causan casi todos los fallos graves de seguridad.
También conocido como lenguaje Rust Rust lang lenguaje de sistemas
Definición
Rust es un lenguaje de programación para software que no puede fallar. Sistemas operativos, motores de navegador, las piezas pequeñas que están debajo de todo lo demás y funcionan durante años sin que nadie las toque. Es rápido, y es estricto de una forma que sorprende a quien llega de otros lenguajes.
Para entender por qué existe basta una idea sobre cómo trabaja un ordenador. Un programa pide un trozo de memoria, lo usa y lo devuelve. El problema empieza cuando sigue usando un trozo que ya devolvió, o cuando escribe más allá del espacio que le dieron. Esos dos errores pequeños están detrás de casi todos los agujeros de seguridad graves que se han encontrado en este tipo de software. Microsoft y Google contaron sus propios fallos y llegaron a una cifra parecida, cerca de siete de cada diez.
La respuesta de Rust es rara. No caza el error mientras el programa funciona. Se niega a compilarlo. El compilador sigue quién es dueño de cada trozo de memoria y cuánto vive, y si tu código puede tocar algo que ya no existe, la compilación se detiene con un mensaje. Otros lenguajes seguros usan un limpiador que corre al lado del programa y lo detiene un instante de vez en cuando. Rust no tiene ninguno, así que sigue siendo bastante rápido para trabajos donde una pausa no está permitida. Esa mezcla explica por qué aparece en proyectos delicados en materia de seguridad.
Ahora la parte de la que nadie avisa. Escribir Rust es más lento, y el primer mes o dos parecen una discusión con el compilador. Quienes lo dominan son menos y cobran más. Para una web de reservas o un sistema de tienda el cambio sale mal, y un lenguaje de aplicación web corriente terminará antes y más barato. Rust se gana su precio en un sitio estrecho: un aparato difícil de actualizar, una parte que abre archivos enviados por desconocidos, un servicio atacado sin descanso.
Hay un uso que sí llega a productos normales. Una lógica difícil escrita una vez en Rust se puede meter dentro de una app de Android y de una de iPhone a la vez, así las reglas viven en un solo sitio en lugar de dos. Linkysoft solo lo propone cuando esa lógica es de verdad complicada, porque añade un lenguaje al equipo. Si un proveedor le ofrece Rust, pregunte qué se rompe cuando esa parte falla. Una buena respuesta menciona algo concreto. Si sigue siendo vaga, Linkysoft prefiere poner el dinero en una aplicación móvil normal y una revisión de seguridad seria.
Preguntas sobre Rust
¿Es difícil aprender Rust?
¿Debería mi sistema de gestión escribirse en Rust?
¿Rust hace que mi software sea seguro?
¿Rust puede convivir con el código que ya tenemos?
¿Son caros los programadores de Rust?
¿Sigue sin ver cómo se aplica esto a su proyecto?
Cuéntenos qué está construyendo y le responderemos en lenguaje claro.