575 - Tres años con Rust. Mi experiencia
#rust es un fantástico lenguaje de programación que lo puedes utilizar tanto en #windows como en #macos como en #linux y que te tiene un gran desempeño
Llevo unos días programando a diario con Rust, en un proyecto que empecé hace ya algún tiempo, Dockerboard, del cual te hablaré el próximo jueves. Y es que durante estos días, al retomar el proyecto de Dockerboard, me he dado cuenta de cuanto he avanzado hasta el día de hoy, en mi aprendizaje de Rust, y el camino que todavía me queda, y que espero me quede. Y es que en muchas ocasiones, como ha sido el caso, nos obsesionamos en utilizar este o aquel framework, y no tanto en continuar con nuestro propio camino. Así quiero contarte mi experiencia con Rust en esto tres años, y donde quiero llegar.
Tres años con Rust. Mi experiencia
Un paseo por el pasado
Hace algo mas de tres años decidí aprender Rust. Esto lo conté en el episodio 245 del podcast, que titulé Objetivo Rust. Hoy, te puedo decir, que probablemente, fuera una de las mejores que podía haber tomado. Y a la vez, también te quiero decir, que ha sido un interesante reto. Es un lenguaje diferente a otros a los que me he enfrentado, y que ha hecho que cambie mi visión de la programación.
Esto que acabo de comentar, está precisamente dirigido a aquellos que piensan que ya pasó su momento de aprender a programar o de aprender un nuevo lenguaje de programación. Nada mas lejos de la realidad, y justo todo lo contrario. Siempre es un buen momento para aprender y nunca hay que dejar de hacerlo.
Pero a la vez, también te puedo decir, que no ha sido, mejor dicho, que no está siendo nada fácil. En estos tres años, he progresado en mi conocimiento de Rust. Y sin embargo, soy consciente que me queda un largo camino por delante. También es cierto, que un lenguaje de programación nunca se termina de aprender. Sin embargo, a día de hoy, todavía tengo muchos conceptos que no termino de dominar.
De vez en cuando, al retomar un antiguo proyecto, veo como escribía Rust antes y como lo hago ahora. Pero, esto me pasa también con otros lenguajes. Conforme pasa el tiempo mejoras.
También tengo que decirte, que en el caso de Rust, durante algún tiempo me empeñé en programar como otros lenguajes, y ahora me doy cuenta de lo equivocado que estaba. No es lo mismo, Rust, tiene algunos detalles que hacen que tengas que cambiar la mentalidad. O al menos esto es la conclusión a la que yo he llegado.
Rust no solo es Rust
Al igual que sucede con otros lenguajes de programación, como puede ser el propio Python, cuando ya empiezas a programar, te das cuenta que hace falta conocer el ecosistema de Rust.
Es imprescindible conocer y dominar Cargo, el gestor de paquetes y dependencias de Rust. Pero no solo esto, también necesitas desenvolverte entre los miles de crates que hay disponibles en el ecosistema. En concreto, estamos hablando de mas de 130.000 crates.
Está claro, que no los necesitas conocer todos, pero si, algunos que son realmente imprescindibles como puede ser, serde, tokio, dotenv, y tantas otras. Y todo esto, solo lo puedes conocer programando y desarrollando tus propios proyectos, o participando en proyectos de terceros.
Algunos proyectos
Como siempre digo, la forma de aprender a programar es programando. Y esto es precisamente lo que he estado haciendo durante estos tres años. Siempre con altibajos, y ahora que me ha dado de nuevo el chute, tengo que sacarle el máximo partido.
Para que te hagas una idea, en este tiempo he implementado mas de 60 proyectos. Algunos con mas o menos éxito. Algunos que me han dado mas o menos dolor de cabeza, pero, lo que es seguro es que me han hecho profundizar en el conocimiento de Rust. Cada uno me ha permitido aprender nuevos detalles del lenguajes
Por comentarte algunos de ellos, para que te hagas una idea, quiero mencionarte los siguientes,
- aopodcast
- asker
- cronirs
- den
- dockerboard
- podcli
- podmixer
- shaarlirs
- u2vpodcast
De hecho, muchos desarrolladores se han lanzado en programar algunos de los comandos mas habituales de Linux. Esto, que algunos pocos critican, a mi me parece una forma realmente espectacular de aprender a programar. Sabes cual tiene que ser el resultado.
¿Me recomiendas que aprenda Rust?
Uhmmm, que difícil pregunta. Realmente no sabría decirte. Para mi ha sido un verdadero descubrimiento. Pero al igual que te digo esto, en ocasiones, me siento sobrepasado. Me doy cuenta que necesito seguir escribiendo código y aprendiendo.
Hay conceptos de Rust, que he leído en repetidas ocasiones, y que si bien entiendo esos conceptos, luego no los termino de controlar a la hora de programar.
No sabría decir, si para alguien sin ningún conocimiento de programación, sería interesante empezar por este lenguaje, o que empiece por uno mas didáctico. Pero, ¿porque no empezar por Rust?. No sabría decirte.
Desde luego, si quieres aprender un nuevo lenguaje, yo te diría que Rust, mas que nada, porque te permite hacer prácticamente cualquier cosa, algo similar a lo que sucede con Python, pero con el desempeño y rendimiento de C y C++, ¿que mas se puede pedir?