Rust puede parecer intimidante cuando aparecen conceptos como ownership, concurrencia o programación asíncrona. Sin embargo, existe un libro completo que organiza estos temas progresivamente y permite estudiarlos gratuitamente.
Se trata de The Rust Programming Language, conocido popularmente como The Rust Book. Está escrito por Steve Klabnik, Carol Nichols y Chris Krycho, con contribuciones de la comunidad de Rust.
La versión actual está preparada para Rust 1.90.0 o posterior y utiliza las características de Rust 2024 Edition. El contenido oficial está disponible online, aunque existe una limitación importante: el libro está en inglés.
Empieza con los fundamentos y rápidamente pasa a la práctica
El recorrido comienza con la instalación de Rust, Hello, World! y Cargo. Después explica variables, tipos de datos, funciones, estructuras de control y otros conceptos esenciales del lenguaje.
Uno de sus primeros proyectos consiste en programar un juego de adivinanzas. Rust genera un número entre 1 y 100, mientras el programa recibe intentos y comprueba el resultado.
A partir de ahí aparecen algunos de los conceptos característicos de Rust, como ownership, referencias, borrowing, estructuras, enumeraciones y pattern matching. También aborda paquetes, módulos, colecciones y manejo de errores.
Si prefieres comenzar con otro lenguaje, este libro de Python ha vendido más de 500,000 copias y ahora puedes leerlo gratis. Está orientado a principiantes y utiliza Python para automatizar diferentes tareas.
El libro de Rust continúa con genéricos, traits, lifetimes, pruebas automatizadas, programación funcional y smart pointers. Posteriormente introduce concurrencia, programación asíncrona, patrones y características avanzadas.
El proyecto final consiste en construir un servidor web
El recorrido incluye otro proyecto donde el lector desarrolla un programa para la línea de comandos. Aquí se trabajan archivos, variables de entorno, manejo de errores, modularidad y desarrollo mediante pruebas.
Sin embargo, el salto más interesante llega al final. El capítulo 21 propone construir un servidor web multihilo utilizando Rust para poner en práctica diferentes conceptos estudiados anteriormente.
Durante este proyecto se explican TCP y HTTP, conexiones mediante sockets, solicitudes HTTP y respuestas. Finalmente, el servidor mejora su funcionamiento mediante un thread pool para trabajar con varios hilos.
Además, el libro dedica capítulos a características avanzadas, macros, tipos, funciones, traits y unsafe Rust. También incluye varios apéndices relacionados con palabras clave, operadores, herramientas de desarrollo y ediciones del lenguaje.
Por otro lado, quienes trabajan con programación también pueden consultar el libro oficial de Git gratis en español y descargarlo en PDF. Es otro recurso extenso para complementar conocimientos sobre desarrollo y control de versiones.
The Rust Programming Language resulta especialmente interesante por la progresión de sus contenidos. Puedes comenzar aprendiendo los fundamentos, practicar mediante proyectos y terminar entendiendo características considerablemente más avanzadas del lenguaje.
El libro completo puede consultarse gratuitamente desde la documentación oficial de Rust. Recuerda que esta versión está escrita en inglés.



