Rust es un lenguaje de programación de sistemas enfocado en la seguridad y el rendimiento. Desarrollado por Mozilla, Rust se destaca por su sistema de gestión de memoria sin necesidad de un recolector de basura, lo que lo hace ideal para aplicaciones de alto rendimiento, como sistemas embebidos, navegadores y juegos.

Características principales

1. Seguridad de memoria

Rust evita errores comunes de memoria como desbordamientos de búfer y uso de memoria después de liberarla mediante su sistema de “ownership” (propiedad) y “borrowing” (préstamo).

2. Alto rendimiento

Compila a código máquina eficiente y tiene un rendimiento comparable al de C y C++.

3. Concurrencia segura

Ofrece primitivas para la programación concurrente sin los riesgos de condiciones de carrera.

4. Ecosistema moderno

Rust cuenta con herramientas avanzadas como cargo (su gestor de paquetes y compilación) y rustfmt para formateo de código.

Instalación de Rust

Para instalar Rust, se recomienda usar rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Luego, puedes verificar la instalación con:

rustc --version

Primer programa en Rust

fn main() {
    println!("Hola, mundo!");
}

Guarda el archivo como main.rs y compílalo con:

rustc main.rs
./main

Sistema de propiedad

Rust utiliza un modelo de propiedad para la memoria:

fn main() {
    let x = String::from("Hola");
    let y = x; // x se mueve a y y ya no es válido
    // println!("{}", x); // Esto generaría un error
    println!("{}", y);
}

Para evitar transferir la propiedad, se puede usar referencias:

fn main() {
    let x = String::from("Hola");
    imprimir(&x);
    println!("{}", x);
}
 
fn imprimir(texto: &String) {
    println!("{}", texto);
}

Concurrencia en Rust

Rust permite escribir código concurrente de manera segura utilizando std::thread:

use std::thread;
use std::time::Duration;
 
fn main() {
    let handle = thread::spawn(|| {
        for i in 1..5 {
            println!("Hilo secundario: {}", i);
            thread::sleep(Duration::from_millis(500));
        }
    });
 
    handle.join().unwrap();
}

Conclusión

Rust es un lenguaje poderoso que ofrece seguridad y rendimiento sin comprometer la facilidad de uso. Su comunidad y ecosistema continúan creciendo, convirtiéndolo en una opción cada vez más popular para el desarrollo de software moderno.