La programación está en constante evolución y regularmente surgen nuevos lenguajes en este campo. Ofreciendo funcionalidades optimizadas, el lenguaje Go, a veces llamado «Golang», atrae enormemente a los desarrolladores.
El lenguaje GO nació en 2007 dentro de Google de una manera original. El gigante californiano enfrentaba desafíos de desarrollo de gran magnitud, pero presentaba un problema: ninguno de los lenguajes de programación existentes se ajustaba realmente a las problemáticas internas en términos de rendimiento, productividad y facilidad de mantenimiento.
- Así, C++ producía código eficiente, pero su uso era complejo y el tiempo de compilación demasiado largo.
- El código Java era fácilmente portable pero lento en la compilación y nuevamente demasiado complejo para un uso común.
- Python era fácil de aprender y usar, pero no muy rápido en la ejecución.
Tres ingenieros internos, Ken Thompson, Rob Pike y Robert Griesemer, reservaron una sala para discutir, y del fruto de sus intercambios surgió que lo ideal sería desarrollar un nuevo lenguaje, inspirado en el C. Deseaban que fuera fácil de usar, que permitiera una ejecución eficiente, que pudiera estar sujeto a una compilación ultra rápida pero que también fuera adecuado para sistemas multicore, para las exigencias del cloud computing y del big data.
Siguieron dos años de desarrollo. Go fue finalmente anunciado en noviembre de 2009 y una primera release estable se puso en Internet en marzo de 2012. Google decidió convertirlo en un proyecto open source, para que la comunidad de desarrolladores pudiera participar en su mejora continua.
Los principios de Go
La razón por la cual Go ha logrado destacarse se debe a que sus creadores establecieron varios principios clave.
Simplicidad
Go es un lenguaje fácil de abordar. Su sintaxis concisa y clara facilita la escritura y el mantenimiento del código. Sus creadores se preocuparon por limitar la cantidad de palabras clave y por definir reglas de formato uniformes. La documentación oficial es de calidad, lo que facilita el descubrimiento del lenguaje. Los desarrolladores pueden así centrarse en la resolución de problemas en lugar de en los detalles del lenguaje Go.
Una ejecución rápida
La compilación es casi instantánea; además, el compilador Go produce un ejecutable rápido, apropiado para aplicaciones de alto rendimiento. Otra ventaja, la compilación Go genera un solo archivo que integra toda la aplicación y puede ser utilizado tal cual. Los despliegues, por lo tanto, están simplificados.
Concurrencia
El soporte nativo del multitarea ayuda a desarrollar programas que implican la ejecución de varias tareas en paralelo en procesadores multicore.
Gestión automática de la memoria
Go maneja un «garbage collector» (eliminación automática de elementos que ya no son necesarios) que simplifica la optimización de la memoria.
Portabilidad
Un programa escrito en Go puede ser compilado y ejecutado en diversos entornos sin modificar el código fuente.
Un ecosistema Open Source
¿Qué usos tiene el lenguaje Go?
Go se ha impuesto en numerosos campos.
Desarrollo web backend
Cada vez más empresas, como Uber y SoundCloud, se apoyan en Go para construir sus sistemas backend. Resulta que Go sobresale en la construcción de microservicios, arquitecturas cada vez más populares por su flexibilidad y escalabilidad.
Infraestructura
Data science
Aunque es menos conocido que Python en este campo, Go ha ganado terreno gracias a bibliotecas como Gonum y Gorgonia.
Contenedores
El lenguaje Go se utiliza comúnmente para el desarrollo de contenedores Docker, una tecnología que permite encapsular una aplicación con todo lo que contiene (código, bibliotecas, dependencias, etc.) en un contenedor, especialmente con la herramienta Kubernetes diseñada para gestionar y automatizar el despliegue de contenedores.
La popularidad de Go
La adopción de Go por parte de los desarrolladores ha sido regular. Muchos eventos se organizan regularmente a nivel internacional y fomentan intercambios de experiencia y feedback sobre el campo. Una encuesta de StackOverFlow reveló que Go figuraba en el top 3 de los lenguajes más deseados por los desarrolladores. Y en marzo de 2023, se clasificó en el top 10 del índice Tiobe de popularidad de lenguajes de programación. «El apoyo de Google contribuye a mejorar la confianza a largo plazo en el lenguaje», estimó Tiobe.