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

Programación con Go, introducción

Daniel Ortego Delgado
Programación con Go, introducción

En este blog ya escribimos un artículo sobre Go , el lenguaje de programación lanzado por Google allá por el año 2009 y que vino a resolver los problemas comunes de otros lenguajes. Pues bien, en esta nueva entrada vamos a intentar convencerte de que veas por qué es importante aprender este lenguaje de programación que está encandilando cada vez a más usuarios.

 

Los creadores de Go destacaron que fue desarrollado originalmente como un lenguaje para servidores . Sin embargo podemos decir sin error a equivocarnos que ha crecido, junto con su comunidad, para lograr realizar tareas mucho más generales. Podemos decir que Go es el camino rápido para escribir C . Cualquier cosa que pudieras programar en C, se podría hacer en Go hasta cinco veces más rápido , con errores mínimos y disfrutando realmente al escribirlo (cosa que rara vez ocurre en C.) La recolección de basura está muy bien conseguida, al igual que la ausencia del malloc propio de C.

Una de las principales características que destacan los que trabajan con Go es su altísima velocidad . Donde un código C se ejecuta muy rápido, el código de Go en realidad no se queda demasiado lejos. Antes de seguir ahondando en otras funcionalidades de Go, vamos a ver la sintaxis común y básica, algunos tipos básicos, y compararla con C.

En Go, la declaración de variables es muy concisa. En vez de declarar explícitamente el tipo de nuestra variable, la inferencia de tipo asigna el tipo e inicializa nuestra variable. Por ejemplo, si queremos declarar una variable simple:

En Go:
myVar := 33

En C:
int myVar = 33;

Como ves, se ahorra mucho en la sintaxis y podemos olvidarnos de colocar los punto y coma al final. Las funciones pueden devolver varios valores con nombre y devolver un:
Result, err
Ahora veamos el famoso programa Hello World en Go y en C:

helloworld.c

#include <stdio.h>

int main ()
{
printf ("Hello World!\n");
}

helloworld.go

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World!")
}  

Quizás este último ejemplo no sea el mejor, pues se usa menos código en C. Sin embargo, en términos de funcionalidad, la opción de Go es la mejor . Y se puede apreciar también en el ejemplo lo similares que son ambos lenguajes. Una vez visto un poco de código, vamos a comprobar en un ejemplo concreto si soporta las pruebas de carga. ¿Cómo de rápido es Go? Aquí vemos una comparación con varios programas simples pero repetitivos en Ruby:

govsruby

Como se puede comprobar, Golang es mucho más eficiente que Ruby. En el primer programa, ‘fasta-redux’, el programa tardó 110.37 segundos en ejecutarse y salir. Utilizando Go, lo hizo en tan solo 1,79 segundos, unas 100 veces más rápido.

Pero no todo es la velocidad de procesamiento. Go también maneja concurrencia de una manera mucho más favorable que la mayoría de los idiomas. Para ello utiliza hilos muy ligeros llamados Goroutines . Estas Goroutines se pueden multiplicar en miles. Por lo tanto, tenemos útiles paquetes por defecto, velocidades muy rápidas, una sintaxis excelente, concurrencia impresionante y cientos de recursos en línea para ayudarle en la experiencia con Go.

Conclusiones
No todo es brillante en Go. Tiene defectos en cuanto a las funciones de salida de paquetes por defecto o el conjunto de pruebas. Volviendo a los aspectos positivos, el lenguaje esta siendo ampliamente aceptado por start-ups y grandes empresas , además de muchos proveedores de Saas/Paas. Resumiendo, si estás buscando un lenguaje de programación concurrente, paralelo, simple, y con posibilidades de crecimiento para aprender, no busques más, Go merece la pena

Relacionado

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

7 razones para realizar un curso de programación online

7 razones para realizar un curso de programación online

Lenguajes de programación

31 de Octubre de 2014

Si en alguna ocasión te has planteado realizar algún curso de programación online, te habrán asaltado algunas dudas, y si es mejor hacerlo presencial u online. Para ayudarte en tu toma de decisión ...

¿Qué lenguaje de programación aprender primero?

¿Qué lenguaje de programación aprender primero?

Lenguajes de programación

24 de Julio de 2015

Cuando nos disponemos a desarrollar nuestro primer proyecto de programación nos surge la duda de qué lenguaje utilizar, pero eso depende al 100% de lo que queramos conseguir con dicho trabajo. Si v...

¿Qué es Google Go? Introducción

¿Qué es Google Go? Introducción

Lenguajes de programación

06 de Diciembre de 2016

Te introducimos con este artículo a Go, el lenguaje que crearon unos ingenieros de Google

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars