Rastonomicón
Rastonomicón
Resumen:
Introducción
The Rustonomicon (en español, «Rastonomicón») no es solo un libro, sino más bien un grimorio, una colección de conocimientos oscuros sobre el lenguaje de programación Rust. Si ya dominas los fundamentos de Rust y te sientes con fuerzas para mirar detrás del telón de las estrictas garantías de seguridad, este libro será tu guía hacia el mundo del código unsafe, punteros crudos, FFI (Foreign Function Interface) y otras herramientas peligrosas pero necesarias. Escrito por un colectivo de autores (Various Authors) y respaldado por la comunidad, constituye la guía oficial sobre Rust inseguro, disponible gratuitamente en versión en línea. La edición impresa de 2022, de 180 páginas, es un manual compacto pero denso para quienes desean entender cómo funciona Rust «bajo el capó» y cómo sortear sus mecanismos de protección cuando realmente es necesario.
De qué trata el libro
El libro está dedicado exclusivamente al subconjunto unsafe de Rust. No enseña los fundamentos de la sintaxis ni el código idiomático: se asume que el lector ya escribe con soltura en Rust seguro. Los temas principales son:
- Punteros crudos (
*const Ty*mut T): creación, desreferenciación, aritmética de punteros. - Funciones y traits inseguros: declaración e invocación de
unsafe fn, implementación deunsafe trait. - FFI (Foreign Function Interface): llamar funciones de C desde Rust, exportar funciones de Rust para C, trabajar con bloques
extern. - Gestión de memoria: administración manual de memoria, asignadores, creación de punteros inteligentes propios.
- Representación de datos: alineación, tamaños de tipos, diseños de estructuras y enumeraciones, atributos
#[repr(...)]. - Comportamiento indefinido (UB): qué se puede y qué no se puede hacer en código unsafe, cómo evitar UB.
- Operaciones atómicas y barreras de memoria: sincronización de bajo nivel.
- Inserción de ensamblador: macro
asm!para código dependiente de la plataforma.
Para quién es este libro
The Rustonomicon está destinado a desarrolladores experimentados en Rust que ya tienen experiencia escribiendo código seguro y desean profundizar en la programación de sistemas. Será útil para:
- Desarrolladores que crean bibliotecas con FFI (por ejemplo, envoltorios para bibliotecas C/C++).
- Ingenieros que trabajan en sistemas operativos, controladores o sistemas embebidos.
- Quienes deseen implementar sus propias estructuras de datos con gestión manual de memoria (por ejemplo, un
VecoHashMappropio). - Desarrolladores de motores de juegos y aplicaciones de alto rendimiento donde cada microsegundo es crítico.
- Todos aquellos que quieran comprender realmente cómo funciona Rust a nivel de código máquina.
Qué aprenderá el lector
Al leer el libro, podrás:
- Usar con confianza punteros crudos y comprender la diferencia entre referencias y punteros.
- Escribir envoltorios seguros sobre código inseguro, sin fugas de memoria ni UB.
- Interactuar con bibliotecas de C a través de FFI, transmitir estructuras de datos complejas.
- Crear asignadores propios y gestionar la memoria manualmente.
- Comprender los diseños de datos en memoria, la alineación y los tamaños de los tipos.
- Usar operaciones atómicas para programación sin bloqueos (lock-free).
- Evitar el comportamiento indefinido y escribir código unsafe correcto.
- Insertar código ensamblador para optimizaciones dependientes de la plataforma.
Puntos fuertes
El libro posee varias ventajas innegables:
- Autoridad: es la guía oficial del equipo de Rust, respaldada por la comunidad. La información es actual y precisa.
Recommendations
JavaScript (Node.js) para Data Science: Análisis de datos y aprendizaje automático en el servidor
DevOps para desarrolladores de TypeScript: del monolito a los microservicios
Rendimiento de aplicaciones C++. Optimización de código y aceleración del trabajo
Desarrollo web en C# (.NET): desde los fundamentos hasta el despliegue
Desarrollo web en PHP: desde lo básico hasta el despliegue
Java 8 in Action