El lenguaje de programación Go es un lenguaje creado por Google, que está inspirado en C y que quiere competir con Python, uno de los lenguajes que están más de moda últimamente.
Si buscas quién creó el lenguaje Go, la respuesta es que sus creadores son Rob Pike, Robert Griesemer y Ken Thompson. Se lanzó en noviembre de 2009.
Por cierto, ¿conoces su mascota?
Esta mascota es un Gopher, literalmente una ardilla de tierra. ¿Conoces alguna de algún videojuego? ?
Características de Go
Las principales características de este lenguaje de programación son:
- Es un lenguaje concurrente. Significa que permite la ejecución de varias tareas a la vez, aunque no utiliza hilos de ejecución sino canales creados desde el mismo código fuente. Esta programación es una de las más fáciles gracias a sus go routines.
- Soporte miles de conexiones en el mismo programa. Pensado para usarse en el internet actual, dónde puedes tener un servidor que consuma menos recursos.
- Lenguaje compilado. No es interpretado como JavaScript, sino que el código fuente se tiene que compilar y generar código máquina, por lo que es más rápido a la hora de ejecutar.
- Multiplataforma. Permite instalarse en múltiples sistemas operativos, como GNU/Linux, Windows, Mac OS X o FreeBSD.
- Orientado a objetos. No hace falta enumerar las ventajas de la programación orientada a objetos, pero curiosamente GO no permite herencia de tipos. Además, es un lenguaje imperativo y estructurado, cosa lógica en POO.
- Recolector propio de basura. Al igual que Java o .NET, tiene su propio Garbage Collector para optimizar la memoria. Es curioso porque esta característica es propia de lenguajes interpretados.
- Código abierto (open source). Significa que aunque lo desarrolle Google, es un lenguaje colaborativo.
- Uso de tipado estático. Aquí tiene sus similitudes con C, dónde se comprueban los tipos de datos en el momento de compilar y no en la ejecución.
- También admite el tipado dinámico.
- Go es un lenguaje de código abierto (opensource). Significa que aunque sea Google el creador del lenguaje, hay una comunidad que colabora activamente a desarrollar nuevas librerías y herramientas basadas en este lenguaje.
Ya hemos visto las características y ventajas de Go, aunque también existe una serie de desventajas:
- Excepciones. En Go no existen las excepciones para controlar errores. Los programadores de Java, por ejemplo, están muy acostumbrados a utilizar un
try ... catch
que no veremos en GO. - No existe la sobrecarga de métodos, por tanto, parece que gestionar objetos no es todo lo óptimo que podría ser. Tampoco permite argumentos con valores predetrmiandos, una manera encubierta de hacerlos, como con Visual Basic o JavaScript.
- El uso de bibliotecas y versiones. Cuando una biblioteca cambia de versión, si la usas en tu código no te detectará ese cambio y puedes tener problemas. Cuidado con estos cambios.
- La falta de Genéricos como en C++. Tienes que crear una función diferente para cada tipo de datos que quieras tratar, cuando en algunos lenguajes creas un genérico y solamente necesitas una única función.
Estos últimos datos están sacados de aquí.
Descargar lenguaje go
Para poder programar en Go, solamente tienes que ir a su página oficial golang.org y descargar su distribución.
Aunque si estás buscando un IDE para poder programar en este lenguaje y tener muchas complicaciones, tienes algunas sugerencias:
- Visual Studio Code. Este IDE gratuito permite la instalación de plugins de todo tipo, y también de GO para integrar un sinfín de herramientas que nos pueden ayudar.
- Eclipse. No es de mis favoritos por su lentitud, pero con el plugin GoClipse (gratis y opensource) podremos programar con este programa.
- Atom IDE. Este IDE creado por GitHub y Facebook (un equipo curioso, la verdad), podemos encontrar paquetes para PHP, JAva o JavaScript, pero también tenemos uno para el lenguaje Go.
Para que se utiliza el lenguaje Go
Go fue creado para facilitar los trabajos multitarea de una manera sencilla y eficiente, así que es muy utilizado en entornos de servidores.
Podemos crear scripts para ejecutar tareas del sistema operativo. También podemos usarlo en etornos web, por ejemplo para crear APIs RESTful o Sockets.
Como aprender Go
Existe mucha información en inglés sobre este lenguaje de programación.
Para empezar, puedes ir a https://play.golang.org/ y tienes un compilador completo de Go sin tener que instalar nada. Perfecto para acostumbrarte en el lenguaje y ver su potencial (y si es para ti).
También existen cursos por internet que puedes servir para iniciarte, o incluso para crear tu propio servidor y montar un Webservice REST con este lenguaje.