Rust es un gran lenguaje de programación. Introduce conceptos académicos en el mundo del desarrollo de software que hasta ahora estaban reservados a nichos de la ingeniería de software. Y lo hace de tal manera que es el lenguaje de programación más querido desde hace años.

Rust hace que tus programas sean rápidos, seguros y sólidos.

Con Rust es difícil introducir errores.

Rust utiliza un sistema de tipos avanzado que hace que el desarrollador sea consciente de los errores en tiempo de compilación. Esto se traduce en que los desarrolladores pueden detectar posibles problemas antes de ejecutar el programa.

Rust obliga al desarrollador a construir un modelo antes de programar. Esta etapa de modelado es como construir un contrato que debe satisfacerse. Si los desarrolladores programan algo diferente al modelo hecho en Rust, no se permitirá que se publique el código.

Rust es capaz de decirte dónde has hecho una suposición incorrecta, donde te falta algo importante y donde tienes posibles errores de planteamiento.

Cuando compilamos nuestros programas en Rust es fácil hacer cambios sin introducir errores, ya que Rust no permitirá que el programa compile si todo el código no es correcto y si no se sigue el modelo definido. Los desarrolladores pueden estar seguros de que los cambios que introducen son compatibles con otras partes del programa. Otros lenguajes de programación no tienen este control sobre el código, por lo que introducir nuevos cambios puede tener mayores costes. Con Rust no tienes estos problemas ni esa preocupación.

Es fácil de mejorar.

Siguiendo el punto anterior, mejorar el código es mucho más fácil en Rust solo porque te obliga a ser correcto. Sabes que tu nuevo y mejorado código es compatible con el resto de la aplicación y que hace lo que se supone que debe hacer.

Puedes ir a bajo nivel cuando es necesario.

Muchos lenguajes de programación como por ejemplo Python dependen de otros lenguajes cuando necesitas un gran rendimiento o para resolver problemas complejos. Es por eso que en Python se suele utilizar mucho código hecho en el lenguaje de programación C.

Por otra parte, C es un lenguaje de programación difícil de usar. Construir software seguro con él es muy caro. Esto es un problema si el desarrollador necesita hacer algo de cierta complejidad, por ejemplo cuando el programa tiene requisitos especiales de red o hardware.

Un caso real de lo anteriormente mencionado: Nosotros tuvimos un cliente que necesitaba un código extremadamente seguro y sólido y que necesitaba interactuar con la base de datos QLDB de Amazon. El problema era que no existía un driver disponible para Rust y los otros lenguajes de programación para los que existían drivers no eran tan seguros como Rust. ¿Nuestra solución? Creamos un driver para la base de datos QLDB y su formato de red y almacenamiento.

Esto fue un orden de magnitud más fácil y rápido que si, por el contrario, lo hubiéramos hecho en otro lenguaje de programación. De hecho, fue posible porque usamos Rust. En otros lenguajes de programación garantizar la solidez y la seguridad habría sido tan caro que habría sido imposible.

Rápido por defecto. El rendimiento ya no es un arte oscuro.

Rust es tan potente y rápido como C o C ++. Rust fue creado inicialmente para los mismos casos de uso que C y C++, pero terminó superando a ambos por su larga trayectoria en seguridad al mismo tiempo que igualaba su velocidad. Antes, C y C ++ eran los lenguajes de programación más rápidos. Si necesitabas velocidad, C y C ++ eran las únicas opciones. Rust comparte ese rasgo con C y C ++ por lo que los programas en Rust son tan rápidos como lo permite la tecnología actual.

Esto rompe la vieja dicotomía. Antes de Rust tenías seguridad o velocidad, pero no ambas. Rust es más seguro que cualquier otro lenguaje de programación y tan rápido como el más rápido.

Hay otro argumento que se puede utilizar aquí: cualquier programa con el suficiente esfuerzo puede ser seguro y rápido, pero no todo el mundo tiene dinero y tiempo infinito. Rust hace que sea mucho más fácil crear programas rápidos, seguros y más correctos que otros lenguajes de programación. Eso se traduce en mejores soluciones mucho más económicas en comparación con otros lenguajes de programación. Menos tiempo en errores, más tiempo en funcionalidades.

Tus programas son mucho más seguros.

En otros lenguajes es muy común escribir el código y luego detectar los errores en una fase de prueba. Muchos de estos errores pueden ser de seguridad que, por su naturaleza, son extremadamente difíciles de encontrar: son detectados por los clientes que se quejan o directamente por clientes a los que han pirateado. Rust hace imposible introducir la mayoría de estos errores y por su propia naturaleza hace mucho más difícil que los programas inseguros lleguen al cliente final.

No hace falta que nos creas a nosotros, puedes fiarte de Microsoft, que ahora está migrando a Rust

Cambiar el lenguaje de programación, soluciona el 70% de los errores. Por eso elegimos Rust.

Nota: Esta es una descripción general de muy alto nivel del lenguaje orientada a personas no técnicas. Escribiremos otra publicación técnica para desarrolladores sobre por qué elegimos Rust.