jueves, 5 de abril de 2012

Go - Inducción a Go

En mi afán de conocer cosas nuevas, hoy he decidido averiguar aún más sobre el lenguaje de programación Go.

Go es un lenguaje de programación desarrollado por Google, es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C.

Es un lenguaje concurrente que soporta canales de comunicación basados en el lenguaje CSP. La concurrencia en Go es diferente a los criterios de programación basados en bloqueos como pthreads.

A diferencia de otros lenguajes como C++, Java o C#, se caracteriza por su sencillez, ya que su sintaxis es clara y concisa, Go utiliza inferencia implícita de tipos pudiéndose de esta manera evitar la declaración explícita de variables. La declaración de variables es simple y conveniente, y difiere de la de C.

Algo que me llamo bastante la atención cuando estuve averiguando del lenguaje, es que Go no tiene excepciones. Los creadores del lenguaje dan varios motivos para que esto sea así. Uno de ellos es que añadir una capa de excepciones añade una complejidad innecesaria al lenguaje y al entorno de ejecución. Por definición deberían de ser excepcionales pero al final se acaban usando como controladores del flujo de la aplicación y dejan de tener nada de excepcional. Según los creadores, las excepciones tienen que ser realmente excepcionales y el uso que se le da mayoritariamente no justifica su existencia.

Existen más datos, pero eso no es necesario seguir explicando ya que este texto esta en gran parte basado en http://www.genbetadev.com/ que tiene un articulo sobre el lenguaje.
http://code.google.com/p/go/downloads/list
Una vez descargado lo debemos descomprimir de la siguiente forma:
$ sudo tar -C /usr/local -xzf binario.tar.gz
Por ejemplo:
$ sudo tar -C /usr/local -xzf go.go1.linux-386.tar.gz
Luego debemos agregar:
export PATH=$PATH:/usr/local/go/bin
al final de los siguientes archivos
/etc/profile
/home/usuario/.profile
Instalar Go, al menos en Debian Wheezy, no resulta para nada complicado, lo que debemos hacer es lo siguiente:

Lo primero que debemos hacer es descargarnos el binario que corresponda a nuestra arquitectura desde:

A esta altura ya debiese estar todo listo, pero puede ser que les pase como a mi, que no me reconocia el comando go, para esto deben hacer un update
#aptitude update
ahora deben crear un archivo, por ejemplo, el clasico hola mundo o helloworld, por lo que creamos un archivo:
$nano hello.go
Ahora copiamos lo siguiente dentro de dicho archivo:
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
Guardamos y salimos y ahora simplemente lo ejecutamos:
$go run hello.go
Y listo, ya han creado su primera aplicación en el lenguaje Go. Les debiese generar algo como esto:


0 comentarios:

Publicar un comentario