Ing. Hugo Acosta · hugonex.com
Rust es un lenguaje de programación creado por Graydon Hoare dentro del programa de Mozilla Research que empezó a trabajarlo en el año 2006.
Rust es un lenguaje de programación compilado, de propósito general y multiparadigma. Ha sido diseñado para ser 'un lenguaje seguro, concurrente y práctico", soportando programación funcional pura, por procedimientos, imperativa y orientada a objetos.
Rust 1.0 lanzado en Mayo, ya tiene una comunidad vibrante, un creciente ecosistema de crates (https://crates.io/) en su gestor de paquetes y desarrolladores que aprovechan sus capacidades en una variedad de proyectos

| C/C++ | Java | Python | |
|
más control, menos seguridad |
menos control, más seguridad |
||
Más control, más seguridad.
El principio básico del modelo de propiedad de Rust es que cada recurso puede pertenecer a un y sólo un "dueño".
fn main() {
let mochila = String::from("mis cosas");
let amigo = mochila; // ⚠️ propiedad transferida
println!("{}", mochila); // ❌ ERROR: ya no te pertenece
}
✅ El compilador avisa antes de ejecutar. En C, esto sería un bug silencioso.
fn main() {
let mochila = String::from("mis cosas");
ver_contenido(&mochila); // 👀 préstamo de solo lectura
println!("Sigue siendo mía: {}", mochila); // ✅
}
fn ver_contenido(m: &String) {
println!("Contenido: {}", m);
} // préstamo termina aquí
El & indica préstamo. La función puede ver el dato, pero no destruirlo.
let numeros = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// Solo pares, multiplicados por 2
let resultado: Vec<i32> = numeros
.iter()
.filter(|&&x| x % 2 == 0) // 👈 Solo pares
.map(|&x| x * 2) // 👈 x2
.collect();
println!("{:?}", resultado); // [4, 8, 12, 16, 20]
Elegante como Python, rápido como C. El compilador lo optimiza igual que un bucle manual.
Esta es su característica más famosa y única. En lenguajes como Java, Python o JavaScript, un sistema interno (Garbage Collector) limpia la memoria automáticamente, lo cual genera pausas imprevistas. En C o C++, vos gestionás la memoria manualmente, lo cual es rápido pero propenso a errores (fugas de memoria o accesos a memoria ya liberada).Rust resuelve esto con un modelo de tres reglas llamado "Ownership Model"
El compilador prohíbe los problemas de concurrencia básicos. El sistema de tipos permite compartir datos entre hilos solo si el hilo es seguro para hacerlo (Send y Sync).
use std::sync::{Arc, Mutex};
use std::thread;
fn main() {
let contador = Arc::new(Mutex::new(0));
let mut hilos = vec![];
for _ in 0..10 {
let c = Arc::clone(&contador);
hilos.push(thread::spawn(move || {
let mut num = c.lock().unwrap(); // 🔒
*num += 1;
})); // 🔓 libera automáticamente
}
for h in hilos { h.join().unwrap(); }
println!("Resultado: {}", *contador.lock().unwrap()); // siempre: 10
}
Sin Mutex, Rust no compila. La seguridad es obligatoria, no opcional.
fn main() {
let x = 5;
}
let (x, y) = (3, 4);
Rust es un lenguaje estáticamente tipificado, lo que significa que especificamos nuestros tipos por adelantado, y estos son chequeados en tiempo de compilación.
let x = 5;
El estado mutable compartido es la raíz de todos los males. La mayoría de los lenguajes tratan de hacer frente a este problema a través de la parte mutable, pero Rust trata con él mediante la resolución de la parte compartido.
let a = 4;
a = 5; // error!
let mut a = 4;
a = 5; // ok
| 🔵 Meta | Herramientas de backend y compiladores internos |
| Código en Android y el kernel de Linux | |
| 🟦 Microsoft | Reescribiendo partes críticas de Windows en Rust |
| 🟠 Amazon | Firecracker (motor de AWS Lambda) escrito en Rust |
| 🐧 Linux | Rust es el 2do lenguaje oficial del kernel |
Rust lleva 9 años consecutivos siendo el lenguaje más amado según la encuesta anual de Stack Overflow. Los que lo aprenden, no quieren volver atrás.
Rust es compatible con una amplia variedad de plataformas exóticas. Mientras que algo de esto es todavía experimental, el soporte incluye hardware ARM genérico, el tablero de desarrollo TIVA de Texas Instruments, e incluso el Raspberry Pi. Algunas de las nuevas tablas de IoT como el Tessel 2, ¡vienen con soporte oficial para Rust!
Los estudios sugieren que Rust ya es bueno para HPC (computación de alto rendimiento). Incluso no tienes que reescribir toda tu aplicación en Rust: su flexible interfaz para funciones foráneas (FFI) proporciona enlaces de C eficientes que te permiten exponer y llamar código Rust sin ninguna sobrecarga notable.
Rust es ideal para reescribir partes sensibles al rendimiento de tu aplicación. Se conecta bien con otros lenguajes a través de FFI y tiene un pequeño tiempo de ejecución que compite con C y C ++ en la mayoría de los casos, incluso cuando los recursos son limitados.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Instala rustup: el gestor oficial de versiones de Rust
rustc (compilador) y cargo (gestor de paquetes)
fn main() {
println!("¡Hola, mundo!");
}
https://www.youtube.com/@hnexcode
📚 Recursos: The Rust Book · Rustlings · crates.io