- Nico's Newsletter
- Posts
- #8 Descifrando Rust con la Técnica de Feynman
#8 Descifrando Rust con la Técnica de Feynman
Intenté aprender Rust a mi manera, pero entendí que la forma más fácil de hacerlo era aplicando la técnica Feynman. Aquí te cuento mi experiencia
Te tengo una buena noticia!
Si recuerdas, la semana pasada te conté sobre ¿Cómo aprender una tecnología más rápido?
Te dije que estaba aprendiendo Rust e iba a aplicar la técnica de Feynman para optimizar el tiempo en el que lo hacía y además prometí que te iba a contar mi experiencia.
La buena noticia es que logré hacer algo más complejo que un “Hola mundo” en Rust y voy a contarte cómo lo hice.
Aplicando The Feynman Technique para Rust
Como te decía, cuando hice mi primer proyecto de Rust (siguiendo un video de Youtube) me pareció excesivamente complicado.
Creo que tantos años de Javascript y sus particularidades me han hecho mucho daño 😂. Pero más allá de eso, Rust no es el lenguaje más amigable la primera vez que lo miras.
Entonces, como he dicho muchas veces, la mejor forma de aprender algo es enseñarlo así que vamos a empezar por ahí.
Lo primero que hice, en vez de memorizarme el código y sus reglas, fue comenzar con los conceptos básicos (variables, tipos de datos, funciones, estructuras de flujo, etc).
La pregunta que prevalecía era ¿Cómo le podría explicar esto a alguien que no sabe nada de programación?
Por varios años dí clases (preparadurías, tutorías o como sea que se llamen) en la universidad y siempre que tenía que explicar algo complejo la mejor forma era utilizar analogías para aterrizar esos conceptos abstractos.
Y entonces aplicando esa misma lógica fue como aprendí lo básico de Rust.
Ya se más o menos como son los tipos de datos, como se crean variables, constantes, puedo hacer condicionales, loops y funciones.
Entonces lo siguiente que hice fue aprender sobre el gestor de paquetes de Rust que se llama Cargo (Es algo así como npm para Javascript y pip en Python) y esto me permitió entonces poder utilizar librerías de externos.
Seguro te preguntas porque querría utilizar librerías de terceros tan pronto y es que me puse el reto de clonar el funcionamiento de la herramienta “WC”.
Este reto lo saqué de la página de codingchallenges.fyi.
WC es una utilidad de Linux que sirve para contar las palabras, líneas, caracteres y bytes de un archivo.
Entonces me puse a hacer mi propio CLI utilizando Rust, aquí te muestro como funciona:
Utilicé “clap” para hacer todo el tema de gestionar los argumentos del comando, opciones y demás. A partir de aquí todo el desarrollo se fue volviendo más ameno y entonces así es como se ve mi archivo main.rs
Evidentemente este no es el único archivo del proyecto, pero es el punto de entrada y quería mostrarte más o menos la sintaxis que se maneja.
Ya ves lo que te decía? 😂 Rust no es nada amigable al principio, pero cuando lo entiendes creo que no hay vuelta atrás.
Es probable que este código tenga muchas mejoras que hacerle (por ejemplo los if’s anidados), pero voy poco a poco aprendiendo como optimizarlo.
Para finalizar
Ahora entiendo por qué Rust ha sido elegido tantas veces como el lenguaje más querido por la comunidad de desarrolladores en la encuesta de StackOverflow.
Cuando vas ensuciándote las manos con él te das cuenta de que tiene cosas increíbles que en realidad había perdido de vista porque llevo muchos años utilizando Javascript como mi lenguaje principal y aunque pueda hacer de todo con él, Rust creo que va a abrir muchas puertas en el futuro.
Simplemente te invito a jugar un poco con el y ver que tal te parece.
Recursos gratuitos
3 Noticias para ti
Nos vemos en la edición #9
Hasta aquí llegamos el día de hoy.
Espero haberte motivado (aunque sea un poco) a investigar más sobre Rust y sus particularidades.
Recuerda que si quieres hablar de algo en particular puedes sugerir el tema respondiendo este correo.
Hasta pronto 👊🏼
Nicolás Leal