Aprender Go: Tu próximo lenguaje de programación

A

Go ha pasado de ser una curiosidad en el mundo de la programación a un lenguaje que muchos no dudarían en calificar como “el gran descubrimiento”. ¿Cuál es su potencial y por qué aprenderlo?

Si bien parece estar lejos del lenguaje de programación más utilizado en la actualidad, Go tiene el potencial de convertirse en un elemento imprescindible en el arsenal de todo programador.

Hay muchas razones que lo explican. En este artículo, las revisaremos y explicaremos por qué deberías aprender Go.

  1. Qué es Go (Golang)
  2. Por qué aprender Go
    1. Crecimiento
    2. Múltiples núcleos
    3. Concurrencia
    4. Mantenimiento
    5. Respaldo de grandes empresas
    6. Potencial para freelancers
  3. Como iniciarte en Go: Cursos y recursos

¿Qué es Google Go y quién lo creó?

Go es un lenguaje de programación creado en el año 2007 por Google. Inicialmente pretendía ser un estándar interno de codificación para la propia infraestructura de la empresa, pero su potencial lo impulsó a salir a Bolsa.

En 2009 se lanza y ha ido creciendo exponencialmente desde entonces.

Los creadores de Go son programadores de alto perfil, alabados por quienes están familiarizados por su trabajo. Uno de ellos, Ken Thompson, fue el inventor de B, el lenguaje que antecedió a C, el cual todos conocemos y amamos hoy en día.

También Rob Pike, el otro co-creador, quien estuvo involucrado con el equipo de Unix por un tiempo y desarrolló el lenguaje de programación Limbo.

Go es un lenguaje eficiente, escalable y productivo

Rob Pike – Cofundador de Go

Thompson y Pike, además, crearon UTF-8, actualmente la codificación predeterminada en XML y HTML. Pon a esos chicos juntos en un equipo, bríndales una tarea y el conocimiento de Google y seguro que obtendrás algo brillante. En este caso, fue Go.

Go nació sobre todo para mejorar la concurrencia que otros lenguajes ya existentes como Python, Java o C/C++ no eran capaces de manejar correctamente. El software es cada vez más complejo y tiene que hacer más cosas simultáneamente.

Aunque su nombre oficial es simplemente Go, también podrás encontrar información sobre este mismo lenguaje utilizando el término Golang.

Motivos para aprender Google Go

1. Está creciendo más rápido que cualquier otro lenguaje de programación

A principios de 2017, Tiobe dio algunos datos sobre una tendencia que estaba captando cada vez a más gente: el interés en Go está creciendo más rápido que en cualquier otro lenguaje.

Y, de hecho, está superando a sus competidores con creces. Ganó un 2,16% de popularidad y subió desde la posición 54 a la 13 en comparación con el año anterior. Ningún código creció tan rápido. El siguiente fue Darth, con un avance del 0,95%.

En Julio de 2020, Go ocupa la posición 12 del ranking TIOBE.

Y nuestros freelancers colocarón a Go en el puesto número 7 de los lenguajes de programacón que van a ganar tracción en el futuro (18% voto a Go en la Freelancer Survey 2020).

Lenguajes programación más votados 2020 - Go posicion 7

2. Uso de múltiples núcleos

Uno de los mayores cambios en el hardware del ordenador desde la década de los 90 ha sido la inclusión de más núcleos

Las CPU de cuatro núcleos y las de ocho aumentan el rendimiento de manera significativa. Sin embargo, muchos de los lenguajes de programación modernos se desarrollaron en un momento en el que los ordenadores solían tener un solo núcleo. 

Entonces, no escalaban con la adición de nuevos núcleos porque no se construyeron con eso en mente. Por otro lado, el hardware continúa su ascenso con más núcleos, lo que hace que Go sea uno de los lenguajes más escalables del mercado.

¿Necesitas un programador con experiencia en Go?

3. Concurrencia y Simultaneidad

La concurrencia es una característica extremadamente importante para un lenguaje de programación y, además, es una de las mejores cualidades de Go. 

La concurrencia se relaciona con la capacidad de ejecutar más de una tarea al mismo tiempo

Go fue creado para soportar procesos concurrentes con su Goroutine: pueden ejecutarse miles a la vez. Además, los canales les permiten sincronizarse entre sí. Así, son mucho más eficientes que los hilos, los cuales podrían descontrolarse.

Go permite crear dos modelos de concurrencia:

  • Multi-hilo con memoria compartida: Como su nombre indica los procesos comparten espacio de memoria y variables. 
  • Comunicación de proesos secuenciales: Del inglés Communicating Sequencial Processes. En este caso los procesos tienen sus propias variables y se comunican a través de mensajes (canales). 

¿Has tenido alguna experiencia con Go? ¡Crea un perfil gratuito como experto Go y conecta con clientes de todo el mundo, sin comisiones!

4. El código es fácil de mantener

Una de las razones por las que se desarrolló Go fue para conseguir que la programación fuera menos difícil. Es más, el código escrito en Go es limpio y de sencillo mantenimiento

Recuerda que Google creó originalmente Go como parte de su infraestructura interna. Esto significaba dos cosas:

  1. El lenguaje tenía que ser fácil de comprender a primera vista
  2. Un segmento de código solo podía tener efectos secundarios mínimos en otros segmentos. 

Esto no solo permite que un gran número de codificadores puedan trabajar en él a la vez, sino que también hace que la sintaxis de Go sea más fácil de mantener y de modificar.

5. Los usuarios avanzados y las grandes empresas confían en él

Go no es solo algo que entusiasma a muchos programadores, sino que también ha demostrado ser una potente herramienta para las grandes empresas.

Firmas como Netflix, The Economist, The New York Times, IBM y GitHub la utilizan como parte de su infraestructura interna. ¡Y no olvides que Google todavía lo tiene como parte de la suya también!

Si no estás convencido del todo, aquí hay una lista de algunas de las compañías que están usando Go actualmente. También hay muchos proyectos de servidores, bases de datos y arquitectura IT que también lo utilizan. Por ejemplo: Kubernetes,Docker o Terraform.  

6. Potencial para freelancers

Go te ayudará a compilar rápidamente y puede ser útil para desarrollar proyectos de tus clientes. Como comentabamos se trata de un lenguaje que está ganando gran popularidad y que tiene un buen potencial de ingresos.

Haciendo una búsqueda en nuestro directorio de freelancers, vemos que los freelancers expertos en Go están cobrando de media 90 $/ hora por sus servicios.

Tarifa media freelancer programadores Go
Tarifa media freelancers expertos en Go – Julio 2020

Cómo iniciarte en Google Go: Recursos y Cursos Go

Si sientes curiosidad por Go después de leer este artículo, existen numerosos recursos online que puedes consultar para aprender Go desde principiante hasta más avanzado.

En golang.org, hay un vídeo de 30 minutos sobre Go, así como muchos ejemplos, noticias y un entorno propicio para que experimentes con Go. 

También puedes encontrar cursos de Golang online que puedess completar para formarte en este lenguaje de programación. Algunos cursos Go que podrías hacer:

Incluso en plataformas como YouTube, podrás encontrar cursos gratuitos con contenido muy completo con los que podrás aprender Go de forma sencilla. Algunos con muy buenos comentarios son:

¿Te llama la atención aprender Go? ¿Has probado ya este lenguaje? ¡Cuéntanos tu opinión en el apartado de comentarios!

También te puede interesar:

Natalia Campana

Natalia Campana forma parte del equipo internacional de www.freelancermap.com. Enamorada de las nuevas tecnologías y la interculturalidad, tras reunir diferentes experiencias laborales trabajando en varios países como EE.UU, Reino Unido o Alemania, ahora centra sus esfuerzos en ayudar a freelancers a encontrar nuevos proyectos y clientes a nivel mundial.

Deja tu comentario

Entradas recientes