Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Qué es Go

Yanina Muradas
Qué es Go

Go, también conocido como Golang o Google Go, nace en el año 2007 y fue desarrollado por los ingenieros Rob Pike, Ken Thompson y Robert Griesemer, quienes buscaban que este fuera un lenguaje escalable como lo es C++ y Java, sin embargo su lanzamiento fue llevado a cabo por Google en el año 2009.

Go, es un lenguaje de programación concurrente, compilado de código abierto (open source) relativamente nuevo ya que data de once años de antigüedad hablando históricamente, donde su trayectoria ha permitido ir mejorando, puliendo y madurando todos sus detalles. Se encuentra inspirado en la sintaxis de lenguaje C y Algol, con tipado estático.

Go

Características de Go

Siguiendo el patrón y objetivo de que este nuevo lenguaje lograra resolver problemas comunes en otros lenguajes de programación, el equipo desarrollador de Go decidió conservar ciertas características, y con el resurgimiento de nuevas mejoras que le permitirían apalancarse en el mercado. A continuación, te nombraremos algunas de las características más relevantes de Go:

  • Soporta redes.
  • Es multiprocesador.
  • Cuenta con un garbage recollector (Recolector de Basura).
  • Es multiparadigma, lo que le permite llevar a cabo programación de forma estructurada, orientada a objetos, etc.
  • Es concurrente.
  • Curva de aprendizaje aplanada.
  • Sintaxis concisa y clara, es similar a la sintaxis de lenguaje C.
  • Es opensource.

Adicionalmente a las multiples características que presenta Go, este cuenta con las siguientes herramientas:

  • Godoc: Permite mostrar la documentación por medio del HTTP.
  • Go Vet: Herramienta encargada de buscar posibles errores dentro del código.
  • Go Get: Con ella es posible instalar y/o recuperar paquetes.
  • Go Build: Utilizando la data de origen permite generar binarios.
  • Go fmt: Herramienta para dar formato al código.

Ventajas de Go

Gracias a que el equipo desarrollador de Go tenía como uno de sus objetivos que este lenguaje de programación fuese de fácil aprendizaje y de simple codificación, sin dejar de ser robusto, lograron obtener un producto de gran eficiencia en cuanto al procesamiento de grandes escalas de datos, siendo este punto una de las grandes ventajas con las que cuenta Golang.

En este mismo orden de ideas, gracias a su potente núcleo de librerías podemos llevar a cabo el manejo y procesamiento a gran escala de datos gracias a el Big data, es posible hacer encriptados y web api lo que hará que solo utilicemos las capas necesarias y que nuestro proyecto sea más rápido y ligero, sin la necesidad de utilizar librerías de terceros o un framework. Es importante destacar que Go cuenta con las siguientes librerías:

  • http.
  • encryp.
  • sql.
  • pprof.
  • mail.
  • trace.
  • elf.
  • macho.
  • encoding.

Entre muchas otras, si deseas conocer el resto de las librerías con las que cuenta Golang puedes ingresar a través del siguiente enlace: https://golang.org/pkg

Go, por su sencillez cuenta con gran rendimiento debido a su alta velocidad, aunado a esto es capaz de soportar grandes conexiones simultáneas. Go, implementa concurrencias mediante las gorutinas quienes nos permiten manejar múltiples procesos de forma concurrente, siendo esta una ventaja de gran relevancia ya que su concurrencia nativa permitirá ejecutar diversos procesos de manera simultánea permitiendo la comunicación entre ellos a través de canales (channels) los cuales simplemente son variables alojadas en la memoria temporal.

Así mismo, es multiparadigma admitiendo la POO (Programación Orientada a Objetos) de forma especial ya que Go la implementa a través de estructuras, punteros e interfaces (types).

Desventajas de Go

Al hablar de las desventajas de Go, podemos mencionar que este lenguaje de programación no cuenta con documentación extensa en cuanto a manuales, procedimientos, libros e informes, sin embargo la documentación que podemos ubicar en la Web oficial de Go es de mucha ayuda a la hora de llevar a cabo un proyecto con él. Por otra parte, no es posible implementar herencias si no instanciamientos de un type. Los tipos de datos genéricos sólo es posible utilizarlos con su biblioteca estándar, mediante funciones en conjunto con las interfaces.

Por ser un lenguaje de programación que no cuenta con tanta antigüedad como Java, PHP, C#, entre otros., su comunidad es pequeña y se encuentra en crecimiento. Por ende en el mercado hay carencia de programadores expertos en este lenguaje.

¿Cuánto gana un programador de Golang?

Como lo hemos mencionado anteriormente tanto Go como su comunidad en general se encuentra en crecimiento y por sus bondades es un lenguaje de programación que está siendo actualmente demandado por diversas industrias con altas remuneraciones, por lo que si tomas la decisión esta sería una buena opción para iniciar o apalancar tú carrera como programador. A continuación te dejamos un resumen de los promedios salariales por nivel de experiencia que puede llegar a ganar un programador de Golang:

  • Programador Senior Go: 170.000 USD aproximadamente al año.
  • Programador Semi Senior Go: 135.000 aproximadamente USD al año.
  • Programador Junior Go: 78.000 aproximadamente USD al año.

Futuro de Go

Go es un lenguaje que pese a su corto tiempo en el mercado, día a día va incrementando su demanda no sólo a nivel de crear desarrollos web por su manejo de concurrencias de forma nativa y velocidad, sino también en el campo de administración de servidores. Gracias a su simplicidad, es de fácil aprendizaje para llevar a cabo desarrollos con programadores junior, les ayuda mantener el orden y estructura en el código, así como también a manejar estándares y es de sencilla comprensión para los desarrolladores que se encuentran en niveles más avanzados.

Este lenguaje de programación, tiene un futuro prometedor es compatible con Windows y Linux, muy eficiente y con un nivel de seguridad elevado y las grandes empresas como Apple, SoundCloud, eBay, BBC (Corporación de Radio y TV), Youtube, Google, MercadoLibre, Basecamp, entre otras, lo saben y es por ello que han apostado a programar sus sistemas y adecuar sus servicios dentro de los servidores con él. A continuación te listamos algunas empresas y los proyectos en los cuales han hecho uso de Go:

  • Dropbox: Lo utilizó para llevar a cabo la migración de ciertos componentes críticos de Python a Go.
  • Docker: Hizo uso de las herramientas que ofrece Go para desplegar contenedores Linux.
  • Netflix: Lo implemento en la arquitectura de sus servidores.
  • MongoDB: Implementa Golang para administrar instancias.
  • Uber: Para el manejo de grandes datos en tiempo real sobre georeferencia.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Rust vs Go

Rust vs Go

Lenguajes de programación

07 de Agosto de 2020

En la actualidad, Rust y Go son dos de los lenguajes de programación que más interés despiertan entre la comunidad. Si quieres saber más de ellos para elegir en cuál formarte, no te pierdas esta in...

Qué es Rust

Qué es Rust

Lenguajes de programación

17 de Febrero de 2020

Si has oído hablar de de RUST y quieres saber más sobre este lenguaje de programación, en este artículo te contamos qué es RUST y qué futuro tiene.

Más de 300 empresas confían en nosotros

Oesia
Vass
Everis
Ayesa
Altran
Ibermatica
Atmira
GFI
Accenture
GMV
Concatel
Telefonica
Caser
Banco de España
kpmg
Mapfre
Randstad