Debido a los problemas de seguridad y la confiabilidad, Marcos Russinovich, el director técnico de Microsoft Azure recomienda que los desarrolladores dejen de usar C o C ++ para nuevos proyectos y en su lugar usen Rust.
Russinovich recurrió a Twitter e instó a la industria tecnológica a abandonar C/C++:
> “Hablando de idiomas, es hora de dejar de iniciar cualquier proyecto nuevo en C/C++ y usar Rust para aquellos escenarios en los que se requiere un lenguaje que no sea basura recolectada”.
Según Marcos, en las áreas de la seguridad y la confiabilidad, la industria debería declarar esos idiomas como obsoletos.
Desarrollado originalmente en Mozilla, Rust alcanzó la versión 1.0 en 2020 y ahora se utiliza en ellinuxkernel, el Proyecto de código abierto de Android (AOSP), metaservicios web de amazon, Microsoft para partes de Windows y Azure y más.
Como resultado, grandes proyectos, entre los que se incluyen Chrome, Android, el kernel de Linux y Windows que se desarrollaron en “memoria insegura” como C++, se benefician de las “garantías de seguridad de la memoria que ofrece Rust” que eliminan la necesidad de una gestión humana y por lo tanto, reducen la probabilidad de problemas de seguridad relacionados con la memoria.
Al admitir en 2019 que el 70 % de sus parches durante los últimos 12 años eran soluciones para problemas de seguridad de la memoria, Microsoft señaló que C y C++ son los lenguajes de programación más comunes utilizados para crear Windows.
En 2020, el equipo de Chrome de Google intervino con sus propios resultados y señaló que los problemas de seguridad más críticos en el código base de Chrome estaban relacionados con la administración y la seguridad de la memoria.
Linus Torvalds compartió recientemente que el argumento sobre agregar Rust como segundo idioma a C para el kernel de Linux era a menos que sucediese algo inusual, un hecho.
En cuanto a las advertencias, el CTO de Azure simplemente dijo que Rust es mejor que C y C+ para las nuevas aplicaciones que necesitan un lenguaje no recolectado de basura (GC).
Los motores de GC realizan la gestión de la memoria. El proyecto Rust afirma que su lenguaje no es el de la recolección de basura como Go de Google.
No tiene GC, pero los ingenieros de AWS prefieren Rust a Go debido a la eficiencia del lenguaje.
Como sustituto de C y C++, Rust se muestra prometedor en la programación a nivel de sistemas, infraestructura, desarrollo de software integrado y otras áreas; pero aún no está listo para un uso generalizado.
Además, una gran cantidad de C/C++ requerirá mantenimiento y mejoras (o más) en el futuro más cercano.
En abril de 2021, AOSP (una distribución de Linux de código abierto) comenzó a utilizar Rust para el nuevo código mientras mantenía su base de código C/C++ existente.
En el mismo mes, AOSP apoyó los esfuerzos para incluir Rust como una opción de lenguaje para desarrollar el kernel de Linux.
Recientemente, Meta ha abogado por que Rust sea el principal lenguaje del lado del servidor compatible junto con C++.
AWS apuesta por Rust para potenciar sus sistemas backend.
Los ingenieros de Azure lo han usado para crear herramientas en la nube para probar módulos WebAssembly en Kubernetes.
Aunque el equipo de Chrome está comprometido con C++ a pesar de su interés en Rust, afirman que una simple transición a Rust no eliminaría una cantidad significativa de problemas de seguridad.
En cambio, Chrome está implementando seguridad en la memoria de C++.
Rust no debe verse como una solución indestructible para todos las deficiencias de los lenuajes de programación C++ y C#, pero sin lugar a dudas, es el lenguaje del futuro.