Rust, buscando la corona de C++.

Rust es un nuevo lenguaje de programación surgido en 2010, multiplataforma, orientado a objetos y compilado, que viene a competir de tú a tú contra C++. Porque a pesar de su gran rendimiento y de su actual uso, C++ tiene ya 43 años y la jubilación se acerca.

¿Pero será capaz un jovencito de quitarle la corona al rey de la eficiencia? La verdad es que todo apunta a que poco a poco está penetrando en un nicho que hasta ahora no era compartido con nadie más. Pero quédate y conoce nuestra opinión.

C++

Dada su edad, este ya es un viejo conocido del que no hay nada nuevo del que hablar, pero brevemente C++, es un lenguaje diseñado en los 80 por el danés Bjarne Stroustrup, para mejorar y extender el lenguaje C (lenguaje de programación más usado en ese momento). La intención era dotar a C de la posibilidad de manejar objetos y hacerlo desde la perspectiva multiparadigma.

Rust

Nacido en las manos de Graydon Hoare, empleado de Mozilla, en 2006 como un proyecto personal, pasó a ser patrocinado por Mozilla en 2009 y anunciado en 2010. Es un lenguaje compilado, estático, fuerte, inferenciado y estructural. Ha ganado mucha popularidad desde 2015 por ser uno de los lenguajes más queridos por la comunidad de desarrolladores y ha conseguido incluso el primer puesto en dicha categoría en la cuesta anual de Stack Overflow en 2016 y 2020.

Ventajas y usos de Rust

Las principales ventajas de Rust son:

  • Rendimiento: Es muy rápido y eficiente en temas de memoria. Sin runtime ni colector de basura, puede sustentar servicios de rendimiento crítico, ejecutarse en dispositivos embebidos e integrase con otros lenguajes de programación. En la comparativa adjunta tenemos un rendimiento 10 veces superior a Python.

  • Fiabilidad: Al tener un sistema muy rico de tipos y un modelo de propiedad (ownership) garantiza la seguridad de memoria e hilos además elimina muchos bugs en tiempo de compilación.
  • Productividad: Rust incorpora herramientas y estrategías de lenguajes de programación más actuales, cómo mensajes de compilador muy útiles, gestor de paquetes y de proyectos, soporte avanzado multi-editor con autocompletado, inspecciones de tipo, auto-formateador y lo mejor de todo, una documentación muy buena.
  • Ámbitos: Rust se puede aplicar a los principales campos
    • WebAssembly. Puedes usar Rust junto con JavaScript. Tan solo tienes que publicar en npm, empaquetar con webpack y listo.
    • Redes. Rendimiento predecible, bajo consumo de recursos, alta fiabilidad.
    • Embebido. Si trabajas en dispositivos con bajos recursos y necesitas control a bajo nivel sin renunciar a las comodidades de alto nivel.
    • Línea de comandos. Crea una aplicación CLI rápidamente con el ecosistema de Rust.

Entre los grandes conocidos que usan Rust, tenemos a Firefox, Dropbox y Cloudflare. Y sin ir más lejos parece que el kernel de Linux en su versión 5.20 soportará la inclusión de código escrito en Rust.

Conclusión

Cómo todo post de programación, no podemos despedirnos sin lanzar un ¡Hola, mundo! en este lenguaje de programación. Te dejo un extracto del texto.

fn main() {

println!("¡Hola, mundo!");

}

¿Te animas a probarlo?


Creado por Jairo Ramírez Ávila el día 2022-07-06.