Debido a las circunstancias actuales, el seminario de Rust se realizará de manera online y virtual. Esta guía proporciona todo lo necesario para que los alumnos puedan seguir el seminario de forma autónoma.
El objetivo es proporcionar una guía estructurada para aprender Rust utilizando el libro oficial como referencia principal. No se espera que los alumnos se conviertan en expertos en Rust, sino que comprendan los conceptos clave que hacen del lenguaje una herramienta adecuada para la programación concurrente.
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 seguros, utilizando estructuras de datos avanzadas, traits, iteradores y mecanismos de concurrencia.
Material de referencia
En este seminario nos centraremos en los siguientes materiales:
- Libro oficial de Rust (The Rust Book): https://doc.rust-lang.org/book/
- Ejercicios de Rustlings: https://rustlings.rust-lang.org/
- Documentación oficial de Rust: https://doc.rust-lang.org/
Tareas
En esta sesión se cubrirán los siguientes aspectos:
- Traits: interfaces y polimorfismo en Rust.
- Programación funcional en Rust: iteradores y cierres.
- Errores y manejo seguro de excepciones: uso de
Result
yOption
. - Concurrencia en Rust.
Se realizarán las siguientes tareas:
-
Lectura de los siguientes capítulos del libro de Rust:
- Capítulo 8: Common Collections
- Capítulo 9: Error Handling
- Capítulo 10: Generic Types, Traits, and Lifetimes
- Capítulo 13: Functional Language Features: Iterators and Closures
- Capítulo 15: Smart Pointers
- Capítulo 16: Fearless Concurrency
- Capítulo 17: Fundamentals of Asynchronous Programming: Async, Await, Futures, and Streams
-
Realización de los siguientes ejercicios de Rustlings:
- 12: Options
- 14: Generics
- 15: Traits
- 16: Lifetimes
- 18: Iterators
- 19: Smart Pointers
- 20: Threads
Estos ejercicios no se tienen que entregar pero es muy recomendable realizarlos para familiarizarse de manera práctica con el lenguaje. Son ejercicios muy sencillos y rápidos de hacer que permiten ejemplificar los aspectos aprendidos en el libro. Es recomendable realizarlos en paralelo a la lectura del libro.
Adicionalmente, puedes hacer las siguientes tareas que no son fundamentales para la asignatura pero sí recomendables para una mayor fluidez en el uso de Rust:
- Lectura del resto de capítulos del libro de Rust.
- Hacer el resto de ejercicios de Rustlings.