Lenguaje programación GO

Rafael Hidalgo
200CodeBlog
Published in
3 min readSep 11, 2018

Sencillo, confiable y eficiente

Go, es un lenguaje de programación creado por Google en 2009, es más conocido como Golang.

Es un lenguaje compilado, inspirado en la sintáxis de C, tipado, desarrollado por Google. Su diseño permitió que los programadores que tienen varios años con C migraran a un lenguaje actual pero con la misma potencia.

Ha ganado mucha fuerza, empresas de renombre confían en Golang, entre ellas Dropbox, Docker, Facebook, Netflix, Uber y Twitter. En este link puedes ver la lista de compañías que actualmente usan golang en todo el mundo https://github.com/golang/go/wiki/GoUsers.

Puedes programar tu aplicación una sola vez y compilarla para cualquier sistema operativo, esta característica es conocida como cross compilation.

Ventajas: Sencillo, confiable y eficiente.

El equipo que desarrolló este lenguaje se propusieron crear un lenguaje fácil de aprender, sencillo de codificar pero robusto, haciendo que Go sea muy eficiente en el procesamiento de datos a gran escala o aplicaciones que manejan grandes cantidades de datos.

Concurrencia nativa: Me atrevería a catalogarlo como uno de los lenguajes de programación con una de las mejores implementaciones nativas de concurrencia, es decir, una propiedad de los sistemas para ejecutar diferentes procesos de forma simultánea con la posibilidad de comunicarse entre ellos. Este lenguaje trabaja con gorutinas que son hilos encapsulados sencillos de implantar junto con ayuda de variables llamadas channel(canales) que son variables de memoria temporal.

Librerías nativas para todo: El núcleo de librerías por defecto trae un arsenal muy preparado ya que puede hacer web api ,manejos de Big Data e encriptado de forma nativa sin necesidad de framework o librerías de tercero ya que este contiene librerías htpp, encryp, sql, etc. (https://golang.org/pkg/)

Multiparadigma: Admite el paradigma de programación orientada a objetos, pero a diferencia de los lenguajes de programación más populares no dispone de herencia de tipos y tampoco de palabras clave que denoten. Claramente soporta este paradigma aunque la forma en que lo implementa es un poco especial, lo hace por medio de types (puntero,interfaces,estructura) haciendo que un types se pueda enlazar con punteros a muchas funciones.

Framework: Al igual que muchos otros lenguajes modernos cuenta con una lista de frameworks, los más conocidos son:

  • GORM: Es un ORM para el uso de datos.
  • ECHO: Web framework para la creación de api rest de gran escabilidad.
  • REVEL: Es un web framework MVC, muy completo, cuenta con un sistema de templates y muchas otras herramientas que puedes encontrar en la comunidad.

Desventajas:

  • No implementa herencia si no instancia de una type.
  • Comunidad aún en crecimiento, aunque su documentación es muy buena, el lenguaje no tiene una comunidad tan grande como java, C# o php por su poco tiempo de vida.
  • Ausencia de tipos genéricos (tipos de datos que permiten indicar parámetros individuales) en la biblioteca estándar. Estos lo puedes implementar solo en funciones con la ayuda de interfaces.
  • Poca documentación (Manuales o Libros de calidad).
  • Carencia de expertos.

Conclusión:

GO, es un lenguaje muy potente con la estabilidad de un lenguaje de bajo nivel y con las innovaciones como los de alto nivel esto hace que este lenguaje sea muy especial para desarrolladores backend, que tienen que procesar grandes cantidades de datos. La facilidad de aprenderlo y dominarlo hace que el desarrollo sea relativamente rápido.

Ejemplo obligatorio

Volviendo al ejemplo, crea un archivo llamado main.go:

Para ejecutarlo:

go run main.go

Para compilar usasbuild seguido de los archivos:

go build main.go

Para la ejecución basta con:

./main

--

--

Rafael Hidalgo
200CodeBlog

Developer backend Golang, Javascript,Kotlin and Python