Rust es un lenguaje de programación orientado al rendimiento y la seguridad en memoria. En los últimos años ha ganado relevancia en áreas como sistemas operativos, servicios web, herramientas de infraestructura y aplicaciones concurrentes. Su diseño combina control de bajo nivel con verificaciones estrictas en tiempo de compilación, lo que resulta especialmente útil para desarrolladores que necesitan eficiencia y robustez.
En entornos donde la concurrencia, la gestión de memoria y la estabilidad del software son críticas, Rust ofrece un modelo basado en propiedad y reglas verificadas por el compilador. Esto reduce errores comunes como condiciones de carrera, accesos inválidos a memoria y fallos difíciles de detectar en otros lenguajes.
Introducción al libro
El Lenguaje de Programación Rust es una obra introductoria oficial sobre Rust, escrita por Steve Klabnik, Carol Nichols y Chris Krycho, con contribuciones de la comunidad Rust. Esta edición asume el uso de Rust 1.85.0 o posterior, configurado con edition = "2024" en el archivo Cargo.toml.
El libro está dirigido a personas que ya han programado en algún lenguaje, aunque no presupone experiencia específica previa con Rust. Resulta adecuado para estudiantes de informática, desarrolladores con experiencia en otros lenguajes, profesionales técnicos que trabajan en sistemas y personas interesadas en comprender conceptos como concurrencia, gestión de memoria y abstracciones de costo cero.
El texto combina capítulos conceptuales con capítulos orientados a proyectos, lo que permite consolidar conocimientos mediante la implementación de programas completos.
Contenido del libro
El libro cubre los fundamentos del lenguaje y su ecosistema de herramientas, incluyendo el uso de Cargo como gestor de dependencias y sistema de compilación. A lo largo de sus capítulos se desarrollan los siguientes ejes principales:
Se abordan los conceptos esenciales del lenguaje, como variables, estructuras, enumeraciones, control de flujo y manejo de errores. Se estudia en profundidad el sistema de propiedad (ownership), uno de los pilares de Rust, así como genéricos, traits y lifetimes.
También se analizan colecciones estándar, punteros inteligentes y pruebas automatizadas. El libro dedica capítulos específicos a concurrencia con múltiples hilos, programación asíncrona con async y await, y modelos de ejecución basados en tareas y futures.
En los capítulos orientados a proyectos, el lector construye un juego de adivinanzas, una herramienta similar a grep y un servidor web multihilo de bajo nivel. Además, se incluyen temas avanzados como macros y Rust inseguro.
El texto finaliza con apéndices de referencia sobre palabras clave, operadores, traits derivables, herramientas de desarrollo y ediciones del lenguaje.
Índice del libro
- Instalación
- Programa de adivinanzas
- Características comunes del lenguaje
- Propiedad (Ownership)
- Estructuras y métodos
- Enumeraciones y
match - Sistema de módulos y privacidad
- Colecciones estándar
- Manejo de errores
- Genéricos, traits y lifetimes
- Pruebas
- Proyecto: implementación de un subconjunto de
grep - Closures e iteradores
- Cargo y publicación de bibliotecas
- Punteros inteligentes
- Concurrencia con múltiples hilos
- Programación asíncrona (
async/await, futures y streams) - Comparación con programación orientada a objetos
- Patrones y emparejamiento de patrones
- Temas avanzados (Rust inseguro, macros, lifetimes y más)
- Proyecto: servidor web multihilo
- Apéndices:
- A. Palabras clave
- B. Operadores y símbolos
- C. Traits derivables
- D. Herramientas de desarrollo
- E. Ediciones de Rust
- F. Traducciones
- G. Rust nightly y proceso de desarrollo
Datos del libro
- Título: El Lenguaje de Programación Rust
- Autor: Steve Klabnik, Carol Nichols y Chris Krycho, con contribuciones de la Comunidad Rust
- Categoría principal: Programación
- Subcategoría: Rust
- Idioma: Español
- Licencia: No especificada en el fragmento proporcionado
Más libros en: Programación, Rust
Aviso legal: Este libro se comparte únicamente con fines educativos. El contenido se distribuye bajo licencias Creative Commons o permisos explícitos de sus autores. OpenLibro no aloja material con derechos reservados.