sistemas operativos

Páginas: 7 (1676 palabras) Publicado: 26 de octubre de 2014
Go • DESARROLLO

aje de programación
Google inventa un nuevo lengu

!
o
G
¡

s
o
t
s
i
L
.
.
.
s
Preparado
Google no sólo es bueno en las búsquedas, sino que también sabe
hacer otras cosas. El gigante de los motores de búsqueda está dispuesto a lanzar un nuevo lenguaje de programación. ¿Tendrá éxito esta
vez? POR MARCUS NUTZINGER Y RAINER POISEL

E

n un encuentro dedesarrolladores de Google en 2007, los antiguos veteranos de Bell Labs,
Rob Pike y Ken Thompson se preguntaban si en el arte de la programación se
sufrían demasiadas esperas. Según
Pike, “Todo tardaba demasiado. Demasiado tiempo para desarrollar; demasiado tiempo para compilar …” [1].
Un problema, según Pike, era que los
lenguajes de programación no han
variado mucho durante los últimosaños, aunque los requisitos y las expec-

tativas no hayan dejado de evolucionar.
Los programas contemporáneos han de
acomodar las comunicaciones por red
entre cliente-servidor, clústeres de computación masiva y procesadores multinúcleo, etcétera; y, al mismo tiempo, el
desarrollador debe prestar especial
atención a la seguridad y a la estabilidad. Además, los sistemas para la
prueba y controlde los tipos de datos
no paran de complicarse.
Los desarrolladores de Google necesitaban un lenguaje tan eficiente

WWW.LINUX- MAGAZINE.ES

como los lenguajes de tipo estático
como C y tan fácil de usar como los
lenguajes dinámicos como Python.
Querían también un buen soporte
para la concurrencia y un sistema de
recolección de basura (como en Java o
C#) para la limpieza automatizada dela memoria.

Instalación
Si hay un firewall bloqueando el acceso
a Internet durante la instalación, necesitaremos encontrar una solución. Deshabilitaremos las pruebas de los subsistemas http y net en el Makefile para que
el resultado de su ejecución no condicione el éxito de la instalación global
[4]. Para hacerlo, añadiremos entradas
http y net al valor de la variable
NOTEST en elfichero $GOROT/src/
pkg/makefile.

Número 64

49

DESARROLLO • Go

de GNU, pero no está
cuando sus nombres
tan desarrollado como
comienzan con una
las herramientas gc,
letra mayúscula.
cuyo esquema de nomFácil Entrada
brado deriva de Plan 9
[5]. El número designa
En Go, el punto y
la plataforma, donde el
coma no finaliza una
5 representa a ARM, el 6 Figura 2: Las Goroutines secomu- instrucción; en lugar
a los sistemas x86 de 64 nican a través de canales. En el de eso se usa como
bits, y el 8 a los sistemas momento t1, la Goroutine A lee separador, como en
x86 de 32 bits. La letra desde el canal y por tanto lo blo- una lista. Cuando el
designa a la propia quea hasta el momento t2, en el programa consta de
herramienta (ver Tabla que la Goroutine B escribe datos a unaúnica instrucción,
1).
dicho canal.
no hacen falta los punLa Figura 1 muestra
tos y coma. Go hereda
Diseño del Entorno
el proceso de compilación y enlazado,
de varios lenguajes (C, C++, Python,
mientras que el Listado 1 contiene el
El código fuente de las herramientas del
etc.), pero la sintaxis difiere en varios
típico programa “Hola
lenguaje de programación
puntos. Google ofrece tantouna introMundo”. La línea 3 conGo está disponible desde
ducción general a la sintaxis del lenguaje
tiene un import, que nos
un repositorio en la
[6] como un resumen de los temas más
recuerda a los de
página de inicio del proavanzados [7].
Python o Java. Go
yecto [3]. Después de
En este artículo describimos un
compilar los distintos Figura 1: Los comandos para requiere que losprograpequeño proyecto de programación que
componentes de Go (ver compilar y enlazar un pro- mas cuenten con una
demuestra las capacidades cliente-serviel cuadro “Instalación”), grama en Go son parecidos a función main(), que
dor de Go y siembra las bases para un
el
punto
de
lo siguiente será compilar la, en un primer momento, será
programa de chat mínimo. El proceso
entrada, igual que en C...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistema Operativo Y Tipos De Sistemas Operativos
  • Atomicidad de operaciones
  • operaciones basicas del sistema operativo
  • Sistemas Operativos
  • Sistema operativo
  • Sistema operativo
  • Sistemas operativos
  • Sistema Operativo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS