Sei sulla pagina 1di 4

GO: Lenguaje de Programacin de Google

Universidad Nacional de Trujillo Sede Valle del Jequetepeque Escuela de Informtica Novoa Ruiz, Pedro Luis
RESUMEN: Go es un lenguaje de programacin creado en el 2007 por desarrolladores de Google y lanzado en el 2009 como lenguaje experimental, para desarrollo de aplicaciones, este lenguaje adopta y aprovecha las ventajas de varios lenguajes en los que fue inspirado, para dar un sencillez al momento de programar y desarrollar aplicaciones con mayor rapidez, adems maneja un recolector de basura que evita que el programador tenga que con el manejo de memoria, y muchas ventajas ms. Go se encuentra actualmente en su primera versin disponible ya que es de cdigo abierto y de esta manera funciona en varias plataformas. PALABRAS CLAVE: Lenguaje de programacin, recolector de basura, manejo de memoria, cdigo abierto.

1.

INTRODUCCIN

Con la finalidad de conocer los nuevos lenguajes para el desarrollo de aplicaciones para diversas reas, es que se desarrolla es paper titulado GO: un lenguaje de programacin de Google, el cual est estructurado de la siguiente forma que se describe a continuacin. En primer lugar se muestra una resea histrica de este lenguaje, para luego pasar a definir al mismo, adems de mostrar un ejemplo de la estructura o forma de programacin de este lenguaje, y describir algunas sintaxis que go posee.

2.

RESEA HISTRICA

El Lenguaje de programacin Go fue sacado al mercado por Google en Noviembre del 2009. Aunque empez a ser desarrollado en Septiembre del 2007 por Robert Griesemer, Rob Pike y Ken Thompson[1]; adems tambin ahora integran el grupo tambin Russ Cox(un desarrollador del sistema operativo Plan 9) y Ian Taylor(quien ha trabajado mucho por mejorar el compilador de cdigo abierto GCC).

Figura 1: Rob Pike en presentacin del lenguaje GO.

3.
3.1.

LENGUAJE DE PROGRMACIN GO
Definicin

El nombre de GO viene del popular juego de mesa chino, as como una referencia a Google, adems de dar la idea de ir hacia algn lado [2]. Este lenguaje muy similar a C y C++ , as tambin adopta sintaxis de python y otros lenguajes; adems emplea las caractersticas modernas de la programacin y tiene suficiente versatilidad que incluso podra ser utilizado en los navegadores Web que es lo que Google pretende e incluso la pgina de oficial de este proyecto est hecho en Go. Go usa tecnologa que data de los aos sesenta, llamada CSP, o procesos que se comunican secuencialmente (Communicating Sequential Processes, por sus siglas en ingls), que manejan la interaccin entre un conjunto de programas cooperativos [3]. Posee dos compiladores oficiales: El gc GO Compiler y el gcc Compiler que es [2] parte del GNU C Compiler (GCC) . 3.2. 3.3. Caractersticas Es un proyecto de cdigo fuente abierto. Funciona en diversas plataformas. Es expresivo, conciso, limpio, y eficiente. Soporta la concurrencia que permite aprovechar al mximo las maquinas multincleo y en red (con conexin a su vez de muchos servidores). Permite la construccin de programas de forma flexible y modular. Compilacin de manera rpida a cdigo mquina. Posee un recolector de basura para manejar la memoria. Reflexin en tiempo de ejecucin. Definicin esttica y dinmica (Ejemplo la definicin de constantes) de tipos de datos. Parecido a un lenguaje interpretado al momento de programar. Objetivos Google de manera implcita desea poseer un lenguaje propio competitivo frente a los dems lenguajes y compaas. Usarlo este lenguaje para substituir a otros lenguajes no propios usados para la construccin de sus de sus productos. Busca crear programadores ms productivos.

4.

FORMA DE CREACIN DE PROGRAMAS


Nombre del paquete.

Importacin de las libreras a usar.

Declaraciones: funciones, constantes, ect. main Sentencias a ejecuatr.


Figura 2: Un programa hecho en GO, usando LiteIDE.

5.
5.1.

CONOCIENDO EL LENGUAJE
Tipos de datos bsicosy bool, string, int, int8, int16, int32, int64 uint, uint8, uint16, uint32, uint64, uintptr byte, rune // alias for int32 represents a Unicode code point float32, float64, complex64, complex128 Constantes y Variables Las constantes se declaran con la palabra reservada const y el tipado es automtico. Para la declaracin de variables hay dos formas: a) Usando la palabra reservada var. Ejemplo: var x, y, z int = 1, 2, 3 b) Declaracin implcita. Ejemplo: c, python, java := true, false, "no!"; esto solo es vlido dentro de una funcin.

5.2.

5.3.

Estructuras de control

Maneja estructuras de control como el condicional simple y condicional mltiple, adems del bucle Para, con el cual tambin se declara el bucle Mientras ya que no se ha definido una sintaxis explicita para este bucle.

Figura 3: Ejemplos del bucle Para.

Figura 4: Ejemplos condicional simple y multiple..

5.4.

Funciones

Se declara con la palabra reservada func : func <nombre_funcion> ( <parametros> ) <tipo_retorno> { <sentecnias> } - Con este lenguaje es posible retornar varios tipos de datos, asi como variables creadas dentro de la funcin similar a matlab, tambin se puede declarar otra funcin de retorno dentro de esta.

Figura 5: Ejemplos de declaracin de funciones.

5.5.

Ms cosas de este lenguaje

Adems tenemos: - Manejo de punteros, aunque no se maneja aritmtica de punteros por el recolector de basura que posee. - Creacin de estructuras similar a C, pero usos ms simples de manejar. - Uso de interfaces para modelar algo parecido a la programacin orientada a objetos. - Libreras para programacin Web, ect.

6.

CONCLUSIN
Su sintaxis es similar a muchos lenguajes conocidos lo que hace simple de manejar y adems se aleja al programador del manejo de la memoria. Rapidez al crear de aplicaciones, por su sencillez, aunque estos binarios sean ms pesados que C/C++ por ejemplo. Aunque es un lenguaje experimental se espera que se pueda hacer aplicaciones eficientes con sus mejoras del mismo.

Referencias
[1] Dan Cederholm, La Morsa, 12/04/12, http://la-morsa.blogspot.com/2009/11/nuevo-lenguaje-de-programacion-go.html [2] SecurityHackers, 12/04/12, http://www.securityhackersworld.com/blog/16-investigaciones/44el-lenguaje-de-programaci%C3%B3n-de-google-go.html

[3] Txema Rodrguez, otros, Genbeta Dev, 12/04/12, http://www.genbetadev.com/herramientas/introduccion-al-lenguaje-de-programacion-go [4] Fernando Sanz, Taringa, 12/05/12, http://www.taringa.net/posts/info/3897250/GoogleGo_-nuevo-lenguaje-de-programacion.html [5] Miguel Angel Alvarez, Desarrollo Web, 12/05/12, http://www.desarrolloweb.com/actualidad/go-1-primera-version-final-lenguajeprogramacion-google-6743.html [6] Tecnologa Diaria, 12/05/12, http://www.tecnologiadiaria.com/2009/11/go-lenguaje-programacion-google.html

Potrebbero piacerti anche