Translate

miércoles, 14 de junio de 2023

¿Qué es Rust?


Rust es un nuevo lenguaje de programación que tuvo su versión 1.0 en 2015:

  • Rust es un lenguaje compilado estáticamente con un papel similar al de C++
    • rustc usa LLVM como backend.
  • Rust admite muchas plataformas y arquitecturas:
    • x86, ARM, WebAssembly, …
    • Linux, Mac, Windows,…
  • Rust se utiliza para una amplia gama de dispositivos:
    • firmware y cargadores de arranque,
    • pantallas inteligentes,
    • teléfonos móviles,
    • escritorios,
    • servidores.

Rust encaja en la misma área que C++:
  • Alta flexibilidad.
  • Alto nivel de control.
  • Se puede programar para dispositivos muy limitados, como teléfonos móviles.
  • No tiene runtime, ni recolección de basura.
  • Se centra en la fiabilidad y la seguridad sin sacrificar el rendimiento.
Pasemos al programa Rust más simple posible, un programa clásico de Hello World:

fn main() {
    println!("Hello 🌍!");
}

$ cargo run
   Compiling hello_cargo v0.1.0 (/home/emanuel/Projects/rust/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.26s
     Running `target/debug/hello_cargo`
Hello 🌍!

Lo que ves:
  • Las funciones se introducen con fn.
  • Los bloques están delimitados por llaves como en C y C++.
  • La función principal es el punto de entrada del programa.
  • Rust tiene macros higiénicas, println! es un ejemplo de esto.
  • Las cadenas Rust están codificadas en UTF-8 y pueden contener cualquier carácter Unicode.

Puntos clave:
  • Rust es muy parecido a otros lenguajes en la tradición C/C++/Java. Es imperativo (no funcional) y no intenta reinventar las cosas a menos que sea absolutamente necesario.
  • Rust es moderno con soporte completo para cosas como Unicode.
  • Rust usa macros para situaciones en las que desea tener una cantidad variable de argumentos (sin sobrecarga de funciones).
  • Las macros que son "higiénicas" significa que no capturan accidentalmente identificadores del ámbito en el que se utilizan. Las macros de Rust son en realidad solo parcialmente higiénicas.