Este artículo no es una disertación técnica acerca de ambos lenguajes y cuál es mejor o peor, simplemente es el relato de mis razones personales y muy subjetivas para haber tomado la decisión de aprender uno de ellos.
Siempre me ha gustado programar, aprender nuevas tecnologías, lenguajes y herramientas, de hecho esa es la razón por la que me encontré en el mundo de la informática a muy temprana edad, programando Basic en un XT: simplemente quería saber que podía hacer con aquello que estaba aprendiendo.
Recientemente (hace un par de meses) estaba leyendo acerca de Golang y sus ventajas, lo mismo con Ruby entonces decidí que era momento de aprender algo nuevo, aclaro que llevo 7 u 8 años usando Python y no pretendo dejarlo, sin embargo pienso que es bueno tener otra herramienta disponible en caso de necesitarla.
Aprender ambos además de tener que trabajar y balancear el resto de mi vida personal resulta complicado entonces tenía que tomar una decisión y de eso se trata este artículo, de mi proceso mental y personal para decidir cual usar.
En primer lugar quiero dejar claro que no se trata de cuál es mejor o más rápido, es un asunto de conveniencia. Con los lenguajes de programación modernos no se trata de "cuál es mejor", se trata de cuál te conviene más: cuál se hace más familiar, fácil de aprender, te conviene en el trabajo, proyectos personales, ayudan a moldear tu carrera profesional o simplemente el que parezca más divertido.
Al final mi decisión fue Golang y no es que Ruby tenga algo malo, de hecho la decisión estuvo bastante cerrada, pero Ruby como lenguaje tiene más o menos las mismas características que Python: es interpretado, fácil de aprender, etc.
¿Por qué Golang? Debo admitir que a penas comencé a entender su sintaxis me sentí algo nostálgico al recordar cuando programaba en C y creo que tiene sentido porque entre sus creadores están Ken Thompson[1] y Rob Pike[2] (ceadores del Lenguaje B, participaron en la creación de Unix y como si fuera poco padres del UTF8), tiene sentido la similitud.
Dejando la nostalgia a un lado, ¿qué tiene Golang para gustarme tanto? Entre los detalles que me parecieron más llamativos está el hecho de que es compilado, lo que hace muy fácil su distribución, es el chico nuevo de la cuadra por lo que se espera que evolucione de manera significativa y las goroutines[3].
Para quienes estén pensando que todo lo que mencioné lo puedo hacer también con X lenguaje o usando Y herramienta de Ruby o Python, lo sé, pero no es el punto.
[1]https://es.wikipedia.org/wiki/Ken_Thompson
[2]https://es.wikipedia.org/wiki/Rob_Pike
[3]https://golangbot.com/goroutines/