Go es un lenguaje de programación concurrente y compilado
inspirado en la sintaxis de C. Ha sido desarrollado por Google, y sus
diseñadores iniciales son Robert Griesemer, Rob Pike y Ken Thompson.
Actualmente está disponible en formato binario para los sistemas operativos
Windows, GNU/Linux, FreeBSD y Mac OS X, pudiendo también ser instalado en estos
y en otros sistemas con el código fuente. Go es un lenguaje de programación
compilado, concurrente, imperativo, estructurado, orientado a objetos y con
recolector de basura que de momento está soportado en diferentes tipos de
sistemas UNIX, incluidos Linux, FreeBSD, Mac OS X y Plan 9 (puesto que parte
del compilador está basado en un trabajo previo sobre el sistema operativo
Inferno). Las arquitecturas soportadas son i386, amd64 y ARM.
El día de la publicación del lenguaje Go, Francis McCabe,
¡desarrollador del lenguaje de programación Go! (anteriormente llamado Go),
solicitó que se le cambiase el nombre al lenguaje de Google para evitar
confusiones con su lenguaje.4 McCabe creó Go! en el año 2003; sin embargo, aún
no ha registrado el nombre.5 Go es un nuevo lenguaje de programación para
sistemas lanzado por Google en noviembre de 2009. Aunque empezó a ser
desarrollado en septiembre de 2007 por Robert Griesemer, Rob Pike y Ken
Thompson.
Características
- Go usa una sintaxis similar a C.
- Go usa tipado estático (statically typed) y es tan eficiente como C.
- Go tiene muchas de las características y facilidad de lenguajes dinámicos como Python.
- Aun siendo un lenguaje diseñado para la programación de sistemas, provee de un recolector de basura, reflexión y otras capacidades de alto nivel que lo convierten en un lenguaje muy potente.
- Go admite el paradigma de programación orientada a objetos, pero a diferencia de los lenguajes de programación más populares no dispone de herencia de tipos y tampoco de palabras clave que denoten claramente que soporta este paradigma. Otro detalle que puede resultar confuso es que la definición de un tipo ("clase") se realiza por medio de declaraciones separadas (interfaces, structs, embedded values). Go permite el uso de delegación (a través de embedded values) y polimorfismo (por medio de interfaces).
- Aplica el uso del punto y coma (;)
Innovación
Durante muchos años, los desarrolladores han tenido que
elegir entre lenguajes de programación de tipado estático compilados, por regla
general, bastante complejos pero que proveen grandes características
relacionadas con la optimización y el rendimiento y lenguajes de tipado
dinámico interpretados con características de mucho más alto nivel que hacían
su aprendizaje, uso y sintaxis más sencilla y por tanto divertido programar en
ellos, eso si, sacrificando rendimiento y control.
Go mezcla lo mejor de ambos mundos y nos aporta una sintaxis
sencilla, clara y divertida junto a la potencia que nos ofrece un lenguaje
fuertemente tipado y compilado incorporando además características de alto
nivel que facilitan el uso del lenguaje por los desarrolladores.
Sublime Text3
Este editor puede ser utilizado para compilar go y hacer aplicaciones web.
0 comentarios:
Publicar un comentario