Intro
Si algo me ha sorprendido últimamente, ese algo es RUST.
No puedo decir que haya desarrollado en C. Realmente me asome en algún momento al lenguaje, que es el responsable de los sistemas bases y sistemas operativos de los últimos 60 años… Pero puedo decir que fracase rotundamente por varios motivos, mas propios que ajenos.
Ahora en 2020, me doy tiempo de conocer por encima (muy por encima) a RUST, y puedo decir que es ameno, y ademas que encuentro mas y mas opiniones que lo postulan para ser el reemplazo de C/C++
Como decía, es mas accesible que C, tiene el rendimiento de C, pero genera software mas seguro.
Algo que me llama la atención es el compilador. Ademas de estar escrito en RUST, realmente te da muchísima asistencia al compilar.
Las variables por defecto son inmutables, debes pedir que no lo sean (mut).
El uso del Paralelismo es una de las cosas que los expertos admiran y sobre la que se puede explicar el mejor rendimiento.
Se confía que con RUST, un sistema escrito con este lenguaje siempre sera Seguro y Rápido. Cuando hablo de seguro, me refiero a la tecnología y no a los hábitos del programador.
Promete desarrollar sin fallos de memoria, que muchos reclaman a C.
Y ya hay menciones a que se convierta el lenguaje de los próximos 50 años.
Si C/C++ nos da mas control mientras que Python nos da mas seguridad. RUST nos da lo mejor de ambos mundos…
RUST, nace en la Fundación Mozilla entre 2010 – 2012, pero ve la luz en 2015 con la versión 1.0. No es raro pensar que las mejoras en Mozilla Firefox en las ultimas versiones se deben a RUST. Gracias al motor SERVO, el cual esta escrito es RUST. SERVO es el nuevo motor de renderizado libre de Firefox, y es el reemplazo de GECKO escrito en C++ y originalmente desarrollado por el recordado Netscape.
RUST, nace oficialmente en 2015, y desde entonces hay ideas como la del Proyecto REDOX OS. Así es, un sistema operativo escrito en RUST. Aquí una captura corriendo en QEMU sobre UBUNTU 20.04
RUST
Un lenguaje que empodera a todos para construir software fiable y eficiente.
Que significa. Rust es rápido como el rayo y eficiente con la memoria: sin runtime ni colector de basura, puede sustentar servicios de rendimiento crítico, ejecutarse en dispositivos embebidos, e integrarse con otros lenguajes fácilmente.
Donde lo podemos usar
- Linea de Comandos: Aplicaciones de línea de comandos
- WebAssembly: Potenciar tu JavaScript y las Aplicaciones Web
- Redes: Desarrollo en Servidores
- Embebido: Arduino, Drone OS
Estas son las 4 grandes áreas donde apunta la comunidad, pero hay mas avances en otras dimensiones como
- Blockchain (Exonum, Solana, Polkadot.network).
- Deep Learning (https://github.com/tensorflow/rust)
Rendimiento
Se puede decir que nada puede ser tan rapido como C. Su pariente C++ es un poco mas lento. Y entre los lenguajes nuevos tenemos a GO y su rapidez, y entre los mas usados, Python, que no es muy rápido que digamos, pero es muy ameno y esta en todos lados. El desafio de RUST, es acercarse al rendimiento de C, pero sin los fallos de seguridad, y dar mas control y facilidad al desarrollador. Algunas gráficas que se encuentran por ahí:
Stack Overflow
La gente del gran amigo de todo programador/desarrollador hace informes anuales sobre tecnologías, tendencias, etc.
Tiene una encuestas que dice algo como :
Los resultados de 2019, son iguales a 2018, 2017 , 2016 …