Go: el lenguaje de programación de Google


Como ya dije en la entrada sobre closure, Google está sacando herramientas y servicios interesantes cada día y si a eso le sumamos que parece que han decidido que no debe haber rama de la informática en la que no hayan desarrollado una aplicación y/o herramienta, está claro que ésto tenía que pasar.

Y es que en Google han desarrollado una lenguaje de programación, que se llama Go y que según cuentan tiene las bondades de Python sumadas a las de los lenguajes compilados como C o C++. Está claro que esto es puro marketing made in Google, pero está claro que en esta última semana, pocos son los que no han oído hablar o han empezado a probar dicho lenguaje.

Go, open source (como mucho de lo que últimamente se está realizando en Google), se encuentra disponible para sistemas basados en Unix (Linux y MacOs) pero no para windows, aunque tiempo al tiempo.

Para instalarlo en un equipo, hay que seguir una serie de pasos:

  • Añadir una variables de entorno al sistema ($GOROOT, $GOOS, $GOARCH y $GOBIN (opcional)). con el comando export.
  • Instalar Mercurial (sudo easy_install mercurial).
  • Realizar un check out al repositorio (hg clone -r release https://go.googlecode.com/hg/ $GOROOT)
  • Instalar las librerias básicas de C (sudo apt-get install bison gcc libc6-dev ed make)
  • Ejecutar all.bash ($GOROOT/src/all.bash)

Y si no se muestra ninguna error, tenemos la máquina lista para compilar y ejecutar código Go.

Para compilar el código Go existen dos posibilidades, usar el compilador propio de Go o usar el back end de GCC. En caso de usar el compilador propio, hay que tener en cuenta la arquitectura de la máquina, con lo que si está en una máquina de 64 bits se compilaría con 6g, mientras que si es de 32, con 8g. Lo mismo sucede a la hora de generar el ejecutable, siendo 6l y 8l respectivamente.

En caso de optar por el back end de GCC, se usará el comando gccgo, que generá el código ejecutable.

Un ejemplo de Código en Go (el clásico Hola Mundo) sería:

package main
import “fmt” // se importa el paquete de entrada/salida
func main() {
fmt.Printf(“Hola mundo\n”);
}

Que sería compilado con:

$ 8g HolaMundo.go

Creado el ejecutable con:

$ 8l HolaMundo.8

Y ejecutado con:

$ ./8.out

En la página principal del lenguaje de programación Go se puede encontrar amplia información sobre el lenguaje, la especificación y muchos ejemplos con los que poder ir cogiéndole el pulso a un lenguaje que está destinado a ser de los más usados dentro de relativamente poco tiempo.
Vía: Blog Open Source de Google

, , , , , , ,

Deja un comentario