Saltar al contenido principal

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

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 mediante Option.
  • 13_error_handling: Gestión de errores en Rust mediante Result y el operador ?.
  • 14_generics: Sintaxis básica de tipos genéricos.
  • 15_traits: Traits, interfaces y comportamiento compartido (Send y Sync).
  • 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.