Una forma divertida de aprender Golang

22 Jan 2019

Hace un tiempo comencé a aprender el lenguaje Go, y ha sido una experiencia muy enriquecedora.

Descubrí que es cierto lo que muchas personas dicen: en unos días podés aprender gran parte de las funcionalidades que el lenguaje ofrece. Es fácil de instalar, sencillo de leer, corre increíblemente rápido y las herramientas con las que viene son fantásticas.

Mi primer día fue fácil. Poco tiempo después de empezar ya tenía mi programa Hola Mundo funcionando. Un rato después había creado mi primer paquete y lo había compartido en Github.

Creé tests, corrí benchmarks y le dí formato al código con el comando go fmt.

Luego publiqué una aplicación web en Heroku siguiento la guía Getting Started with Go on Heroku.

Aprender el enfoque de Go para resolver problemas se sintió genial. Pero {

Después de hacer todas estas cosas no tenía buenas ideas de como continuar. Llegué al punto donde quería hacer algo productivo, pero aún no me sentía con la suficiente confianza como para empezar un proyecto serio en Go.

Comencé a leer la documentación oficial y corrí algunos ejemplos del sitio web Go by example pero no me estaba tan motivado como al principio y finalmente me sentí aburrido.

}

Por suerte se me ocurrió mirar videos de conferencias de Go en YouTube, y encontré una presentación de Katrina Owen titulada Mind the Gap. Es una charla muy motivadora y si tienen el tiempo, les recomiendo mirarla.

Lo siguiente que hice fue seguir su consejo, y comencé a resolver ejercicios en Exercism. ¡Que buena idea!

La plataforma me ha ayudado mucho a entender y mejorar mi programación en Go. Cuando resolvés un problema, y tu código pasa los test automáticos, podés subir tu respuesta y alguien con más experiencia va a darte algunas correcciones. Y no sólo eso: podés ver las soluciones de otras personas!

Esto definitivamente me ha ayudado a corregir muchos errores y encontrar formas más idiomáticas de programar en Go, y escribir mejor código en general. Acá subí algunas de mis soluciones

Creo que lo que necesitaba era un poco más de seguridad. Luego de completar varios ejercicios me volví mucho más fluido en el lenguaje, y me dieron ganas de comenzar algún proyecto en serio.

Tiempo después comencé a resolver los ejercicios de Elixir. Me di cuenta que muchos de los ejercicios eran los mismos que los de Go, y fue muy interesante descubrir las distintas aproximaciones a resolver problemas de ambos lenguajes.

Aprender un nuevo lenguaje es un proceso difícil. Se necesita dedicarle tiempo y esfuerzo. Creo que este tipo de plataformas son ideales para superar esta primera instancia, y, finalmente, animarse a más.


Este artículo lo escribí hace ya tiempo en inglés. Si bien hoy en día estoy más entusiasmado con Elixir y Erlang que con Go, considero que todos los lenguajes de programación que he usado me han dejado enseñanzas y me han hecho un mejor programador en General.