Introducción a Rust 2
El objetivo de esta práctica es afianzar los conceptos avanzados y concurrentes de Rust trabajando principalmente con los ejercicios interactivos de Rustlings, utilizando la documentación oficial como consulta de apoyo.
En esta segunda parte, el objetivo es dar un paso más allá de los fundamentos para entender cómo Rust permite escribir programas más complejos y concurrentes de forma segura mediante estructuras de control de tipos, punteros inteligentes e hilos.
Materiales de trabajo y consulta
- Herramienta principal (Práctica interactiva):
Ejercicios de Rustlings — Ejercicios prácticos guiados por el compilador. - Material de apoyo y consulta:
Libro oficial de Rust (The Rust Book) — Documentación oficial de apoyo para resolver dudas conceptuales. - Documentación oficial de Rust:
Rust Documentation
Tareas prácticas
Ejecuta rustlings dentro de tu directorio de trabajo y resuelve los siguientes ejercicios interactivos correspondientes a tipos avanzados, punteros inteligentes y concurrencia:
11_hashmaps: Tablas hash y mapas clave-valor.12_options: Manejo seguro de valores opcionales medianteOption.13_error_handling: Gestión de errores en Rust medianteResulty el operador?.14_generics: Sintaxis básica de tipos genéricos.15_traits: Traits, interfaces y comportamiento compartido (SendySync).18_iterators: Programación funcional: cierres e iteradores.19_smart_pointers: Punteros inteligentes para gestión y compartición de memoria (Box,Rc,Arc,Mutex).20_threads: Creación de hilos concurrentes (std::thread) y paso de mensajes mediante canales (mpsc).
Nota: Los ejercicios de módulos (10_modules), lifetimes avanzadas (16_lifetimes) y testing unitario (17_tests) no son estrictamente necesarios para la asignatura y se han omitido del itinerario.