6 recursos gratuitos para aprender Rust para principiantes.
RESUMEN
Una lista de recursos que estoy usando para aprender Rust. Incluye videos, la documentación oficial y artículos de blog. Estos recursos se complementan entre sí, cubriendo diferentes estilos de aprendizaje y enfoques del lenguaje.
Los considero amigables para principiantes y capaces de facilitar el aprendizaje en pequeños fragmentos a la vez.
Hay más de una manera de aprender el proceso de masticar vidrio con Rust, y todos tenemos preferencias.
Esta lista no es exhaustiva, tal vez esté sesgada. La actualizaré para incluir nuevos hallazgos y tus recomendaciones.
Introducción
Rust es un lenguaje de sistema moderno que prioriza la seguridad, la velocidad y la concurrencia. Es posible porque Rust es seguro en memoria sin usar recolección de basura.
La desventaja es que las reglas y principios de ejecución de Rust hacen que tu código sea complejo y difícil de razonar en ocasiones. Con Rust eres responsable de tu código a un bajo nivel de abstracción (tranquilízate, no tienes que escribir código de máquina), pensar en la pila y el montón se vuelve más común. Afortunadamente, cuando tu programa entra en pánico (lanza un error, detiene la ejecución), lo hace de una manera estructurada, con el compilador ayudándote en cada paso del camino.
Codificar con Rust se sentiría más complejo si tu trasfondo no está en un lenguaje de programación de sistemas. Pero no es una tarea imposible, solo necesita dedicación y práctica. La codificación "se aprende con los dedos" y eso lleva tiempo.
Rust se utiliza para construir muchos tipos de software, incluidas blockchains, por lo que sus habilidades transferibles están garantizadas.
Si te estás adentrando en el mundo de Web3, DeFi y blockchain, probablemente ya sabes que Rust se usa para codificar con Solana y Polkadot. Puedes hacer mucho con librerías de alto nivel en Solana con tu lenguaje de elección pero en algún momento podrías necesitar crear tus contratos inteligentes personalizados y para eso tienes Rust.
Escribí un artículo que contiene más información sobre el ambiente de desarrollo de Rust, salarios, industrias, etc., y una comparación de Rust y Solidity para desarrollar contratos inteligentes.
He estado compilando estos recursos como parte de mi aprendizaje de Rust, resultando en este post, para que no tenga que buscarlos en cada marcador del navegador, dispositivo o aplicación.
Espero que también sea útil para ti.
La documentación oficial del lenguaje Rust
La documentación oficial de Rust es la mejor que puedes obtener. Incluye el libro, una colección de ejemplos ejecutables y 'rustlings'.
El libro The Rust Programming Language
En sus 21 capítulos y apéndices, el libro The Rust Programming Language, cubre todos los aspectos del lenguaje.
Lo bueno es que profundiza explicando el lenguaje, lo no tan bueno es que requiere más tiempo para leerlo.
Consejo: Puedes saltar a un capítulo específico o buscar un término.
Rust by Example
Rust by Example es una colección de ejemplos ejecutables creada para ayudar con la comprensión de varios conceptos de Rust y bibliotecas estándar.
Es un buen recurso si tu estilo de aprendizaje se ve potenciado por ejemplos concretos que desglosan abstracciones y conceptos.
Más código, menos palabras.
El curso rustlings
El curso rustlings es similar a Rust by Example, está compuesto de pequeños ejercicios para que te acostumbres a leer y escribir código Rust, y entender los errores de Rust.
Te guía desde la instalación del toolchain de Rust hasta la ejecución del código usando la línea de comandos.
En cada ejercicio básicamente tienes que "arreglar" algo que está impidiendo que el programa se ejecute (compile). Cada tema va acompañado de un README con explicaciones relevantes a sus ejercicios.
Los ejercicios se organizan de una manera que se "recomienda" para principiantes en Rust. También puedes saltar a cualquiera en particular.
Algo como un juego con niveles progresivos.
Serie Rust for Beginners (Video)
Rust for Beginners proporciona una introducción simple a Rust. Creo que se complementa muy bien con Rust by Example.
Cubre herramientas de Rust, variables, tipos de datos escalares, tipos de datos compuestos, funciones, structs, enums, if/else y match, bucles, manejo de errores, propiedad, préstamo, strings, colecciones y traits.
Cada episodio es corto y conciso. La serie suma aproximadamente ~1 hora y 48 minutos.
A Gentle Introduction To Rust (Artículo)
A Gentle Introduction To Rust trabaja hacia darte suficiente Rust para apreciar completamente los excelentes recursos de aprendizaje disponibles en línea y suficiente sensación del poder del lenguaje antes de profundizar.
La novedad y el modelo mental de Rust se presentan con ejemplos que comienzan con un problema y te muestran cómo resolverlo.
Se divide en 10 partes que cubren: conceptos básicos; structs, enums y matching; sistema de archivos y procesos; módulos y cargo; contenedores de biblioteca estándar; manejo de errores; threads, networking y compartición; programación orientada a objetos; parsing con Nom; y puntos de dolor.
Curso CosmWasm Smart Contracts (Video)
El curso gratuito CosmWasm Smart Contracts tiene un módulo donde explica diferentes aspectos de Rust: mutabilidad, propiedad, préstamo, lifetimes, traits, etc.
Los videos de Rust tienen una duración total de 1 hora y 52 minutos, más tareas de laboratorio adicionales y otros materiales.
Incluso puedes completar el curso y crear tu contrato inteligente para blockchains que usan CosmWasm. Es una forma de contratos inteligentes multi-cadena y el ecosistema Cosmos.
Conclusión
Esta lista no es el final, es solo una guía para mantener mi enfoque mientras aprendo Rust. Sé que es un proceso, que lleva tiempo, que tendré que volver muchas veces para ello.
Así que pueda estar seguro de que es un comienzo, una luz en tiempos de tormenta, curitas para el vidrio que masticar.
Volveré agradecido y espero que tú también.
Un línea de código a la vez YAGMI.