X

Reseña del curso Go – The Complete Guide, de Maximilian Schwarzmüller

Hace un tiempito completé el curso el curso Go – The Complete Guide, de Maximilian Schwarzmüller en Udemy y en este post te quiero contar cómo es para que decidas si vale la pena realizarlo o no.

Primero que nada, te dejo un link de afiliado a Udemy para que puedas ver el precio que tiene este curso y explores a fondo los temas mientras lees mi reseña. Yo lo pagué US$ 9.99, pero los precios en Udemy varían de acuerdo a ofertas y promociones, así que puede que esté a un precio diferente cuando visites el enlace.

Desde ya, el curso es sobre el lenguaje de programación Go, también conocido como Golang. Se trata de un curso introductorio pero es recomendable hacerlo sabiendo programar en algún lenguaje.

Antes de continuar, quiero aclararte que el curso está en inglés.

Sobre el instructor

Maximilian Schwarzmüller es un desarrollador e instructor que tiene una gran cantidad de cursos sobre todo tipo de tecnologías como Angular, Python, PHP, React, Flutter, Docker, JavaScript, Node.js, TypeScript y muchas otras.

Al momento de escribir este artículo tres millones de estudiantes han tomado cursos de Maximilian, dejando excelentes reviews. El instructor es uno de los más populares de Udemy, pero también tiene su propia plataforma.

¿Por qué decidí hacer un curso de Go?

Go es un lenguaje que ha ganado popularidad en los últimos tiempos. Un amigo y colega me había contado acerca de Go y me había motivado a aprenderlo.

Yo me muevo en el mundo de PHP y Node.js, pero tenía ganas de pegarle un vistazo a Go y a Rust, que son de más bajo nivel. Así que decidí darle una oportunidad a Golang.

Instalé Go en mi PC e investigué un poco por mi cuenta. Vi que el lenguaje tenía muchas similaridades con C, lenguaje del que tengo hermosos recuerdos, así que me pareció que mis conocimientos no iban a estar tan distantes a la hora de aprender.

Luego de un paneo general de Go, decidí hacerle caso a mi amigo y aprender más sobre esta tecnología. A pesar de mi espíritu autodidacta, me pareció oportuno hacer un «tour guiado» por el lenguaje. Por eso este motivo, preferí hacer un curso de Udemy, en vez de buscar un manual y empezar a leer.

De todos los cursos que había, el de Maximilian Schwarzmüller me pareció el mejor. Por las valoraciones positivas, pero también por los temas que incluía y la extensión. Además, se trataba de un curso introductorio, que era lo que estaba buscando.

Go – The Complete Guide, ¿cómo es el curso?

El curso tiene una duración de 15 horas y media y se divide en 12 secciones, de las cuales 10 son de contenido.

Como te comentaba al principio, el curso está hablado en inglés. Maximilian habla con cierto acento que no logro descifrar, pero pausado y claro. Si más o menos tenés un nivel de B1 o superior, lo podés seguir sin ningún tipo de problema.

Primeras secciones

La primera sección es introductoria y tiene como objetivo explicar cómo funciona el curso.

A continuación, en la segunda sección ya aparecen los primeros temas sobre Go. Estos son el sistema de módulos de Go, algo sobre paquetes, la función main y cómo ejecutar los programas.

Luego, viene lo típico de todo curso de programación. Me refiero a aprender los elementos básicos como operadores, variables, constantes, tipos de datos, conversiones de tipos, lectura de datos, salida en consola y formateo de strings de salida.

El primer ejemplo es una calculadora de interés que funciona en línea de comandos. Debo decir que, en general y a excepción del último ejercicio que es construir una API REST, todos los ejemplos son variaciones de calculadoras en línea de comandos.

Los siguientes temas que se explican son funciones y sentencias de control como if, else if, else, switch, for, break y continue. En Go no hay bucles while.

Para cerrar la segunda sección, el instructor explica cómo leer y escribir archivos y cómo es el manejo de errores con Go. De todo lo que vi del lenguaje, el manejo de errores ha sido lo que menos me gustó.

La sección 3 del curso de Go vuelve con el tema de los paquetes, introducidos en la sección anterior. Aquí se explica a fondo cómo funcionan, cómo preparar un paquete, cómo dividir el código en diferentes paquetes, cómo importar un paquete y, por supuesto, cómo usar paquetes de terceros.

Secciones intermedias

A partir de la Sección 4 empiezan a aparecer conceptos más complejos, como punteros, structs, tipos personalizados e interfaces.

Estos temas te pueden resultar más o menos fáciles de acuerdo a tu background como programador. Si venís del mundo de C o C++ nada de esto te será extraño. De lo contrario, puede que te parezca un poco más complicado.

Los arreglos aparecen recién en la sección 7, donde se explican Arrays, Slices y Maps. La forma en que Golang maneja estos arreglos me resultó un poco ajena, similar a lo poco que vi de Python. Es, sin dudas, una sección clave del curso.

La siguiente sección, la Sección 8, es sobre funciones. Se explican las funciones como valor (punteros a función), valores de retorno, funciones anónimas, closures, recursividad y funciones variádicas.

La Sección 9 es un ejercicio práctico que junta muchos de los temas explicados. La idea es poner en práctica lo aprendido para verlo funcionar todo al mismo tiempo.

El ejemplo es nuevamente una calculadora, en este caso, de precios. Si bien es algo aburrido, personalmente me pareció un buen ejercicio de integración.

La Sección 10 es sobre recurrencia y cómo hace Go para correr tareas en paralelo.

Sección final

La sección final es la más extensa del curso y la que más ganas tenía de hacer. La idea aquí es crear una API REST utilizando Go para administrar eventos de calendario.

El ejemplo incorpora conexión con base de datos SQL y autenticación a través de un JWT, usando el framework Gin (una especie de Express para Go). También muestra cómo hashear contraseñas con Go y algunos otros detalles de implementación propios de esta tecnología.

Si venís del mundo de la programación web, lo que vas a aprender es algo que seguramente ya sabés hacer, pero con otra tecnología. Dejame decirte que los pasos son prácticamente los mismos vengas del lenguaje que vengas. Así que esta sección te puede resultar interesante, pero al mismo tiempo, poco provechosa.

En mi caso, ya tenía experiencia de hacer esto mismo con PHP y Node.js. Bueno, ahora aprendí a hacerlo también con Go.

El curso en el día a día

Realicé este curso bastante rápido, metiendo al menos una sección por día. La verdad es que por momentos me pareció bastante tedioso, casi como si fuera una obligación. Quizás esto sea por el ritmo de las lecciones, o porque los ejemplos son algo monótonos.

Por otro lado, las explicaciones de Maximilian son muy claras. Se nota que cada lección fue escrita y preparada para ser replicada al momento de la grabación. Esto suma desde el punto de vista de la planificación, pero resta en cuanto a dinamismo.

Lo que se aprende en el curso

El curso Go – The Complete Guide, de Maximilian Schwarzmüller, es una introducción a Go. Al terminar el curso no vas a ser un experto en Go. Ni siquiera si venís de trabajar con otros lenguajes de programación.

El curso te da un panorama general de la tecnología para que puedas ver qué tipo de lenguajes es Go. Cuáles son sus fortalezas y cuáles sus debilidades. Y, por sobre todas las cosas, si es o no un lenguaje para vos.

A mí, personalmente, me pareció un lenguaje interesante para explorar más a fondo, pero en el futuro. Hoy en día tengo bastante con PHP y JavaScript.

¿Vale la pena este curso de Go?

Vale la pena si te interesa tener una visión general del lenguaje Go. Especialmente si ya sabés programar en algún otro lenguaje y querés tener una idea de qué se trata Go.

No vale la pena si te interesa convertirte en un experto en este lenguaje o si ya sabés algo de Go y querés especializarte. En ese caso, necesitás un curso más profundo que aborde muchos más temas y que, por supuesto, sea más extenso.

Más contenido sobre programación y modo de vida freelancer en Crónicas Freelancer

Espero que este artículo te haya gustado. Si tenés alguna duda o querés hacer algún aporte, dejame un comentario.

Te invito a que me sigas en las redes: LinkedInXGitHub e Instagram. También estoy en CodeWars, plataforma que te recomiendo para practicar ejercicios de programación.

Eso es todo. Muchas gracias por tomarte el tiempo de leerme.

Hasta la próxima.

 

Fuente foto:
Online illustrations by Storyset

Categorías: Programación
Alejandro De Luca: Soy programador web freelancer y blogger. Desde hace más de 6 años me desempeño de forma independiente. Reúno en este espacio experiencias y pensamientos sobre el modo de vida freelancer.