2015-03-08

Lenguaje Go

El lenguage Go, Es un lenguaje de programación creado por Robert Griesemer, Rob Pike, y Ken Thompson (sí, los Rob Pike y Ken Thompson creadores junto a otros de Unix, UTF-8 y mil cosas más). Es un proyecto open source desarrollado inicialmente en Google y Google sigue siendo en la actualidad su principal impulsor y contribuidor.
Go la mascota
Como lenguaje, Go prima un estilo de programación procedural. Lo podríamos considerar de nivel intermedio/bajo. Pretende ser algo así como el C del siglo XXI y su sintaxis se asemeja a la de C, aunque se ha simplificado en muchos aspectos, eliminando por ejemplo la aritmética de punteros (existen los punteros, pero no podemos operar con ellos) y en general tiene una sintaxis más limpia. Se le han añadido también características “modernas” como puede ser un sistema de build rápido, un sistema de paquetes robusto (para evitar colisión de nombres), recolector de basura, etc.
Una característica que puede resultar interesante es que los programas compilados no requieren de máquina virtual, se obtiene un binario ejecutable directamente. De hecho, por defecto dicho binario está estáticamente linkado, por lo que no tiene ninguna dependencia externa de las librerías usadas para su compilado.
Está disponible para varias plataformas oficialmente: Linux, FreeBSD, Windows y Mac OS X. Para otras plataformas se puede compilar a partir de los fuentes o se puede usar la herramienta alternativa gccgo, que es un frontend para el compilardor GCC (de tal manera que la tarea de generar el binario se deja en manos de GCC).
Una cosa interesante a la hora de empezar con el lenguaje es que existe una herramienta online que nos permite escribir programas en Go y ejecutarlo directamente: Go playground. Aunque es evidente que algunas cosas no se pueden probar aquí (es un entorno sandboxed), nos puede servir para hacernos una idea del lenguaje sin tener que instalarlo. De hecho, es una práctica de la comunidad compartir código, dudas, etc, mediante enlaces a programas en el Playground.
Lo básico para empezar con Go es hacer A tour of Go, un tutorial bastante completo que utiliza el Playground para los ejemplos de código y los ejercicios. Esto es lo que yo hice. Además, desde el propio tutorial enlazan a artículos para poder profundizar en algunos temas.
Por cierto, los creadores del lenguaje no fueron muy avispados con el nombre. Como termino de búsqueda en google, Go es demasiado genérico (aparte de que existe un juego de mesa de origen chino con el mismo nombre). De hecho, es mejor utilizar el termino Golang en lugar de Go cuando buscamos en Google.

Me ha parecido tan interesante que lo he copiado sin cambiar ni una coma de este articulo:http://www.juanjonavarro.com/2015/03/07/lenguaje-go

No hay comentarios: