O Google acaba de lançar sua própria linguagem de programação, a GO .

Trata-se de uma liguagem “meio frankestein”, com uma sintaxe com características de C/C++, Python, Ruby e alguma outra coisa que eu não consigo identificar.

GO é uma linguagem compilada e, até o momento, existem compiladores apenas para ambientes *nix. Acabo de instalar aqui no meu Xubuntu e o processo foi bastante simples.

Primeiro é necessário configurar algumas variáveis de ambiente:

  • $GOROOT – A raiz da estrutura de diretórios do GO. Vamos utilizar $HOME/go.
  • $GOOS  – O sistema operacional que estamos utilizando. No meu caso linux.
  • $GOARCH – A arquitetura do sistema operacional. No meu caso 386. Para quem tem sistemas 64bits, utilize amd64.
  • $GOBIN – Essa é opcional e trata-se do diretório onde ficarão os binários do GO. Por padrão utiliza o diretório $HOME/bin, que já deve estar em seu PATH e existir.

Para adicionar essas variáveis ao seu sistema, edite o arquivo ~/.bashrc:

No fim do arquivo adicione as seguintes linhas:

export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export PATH=$PATH:$HOME/bin</pre>

Caso o diretório $HOME/bin não exista, você deverá cria-lo. É preciso sair e entrar novamente no terminal para que essas alterações tenham efeito.

Com o sistema configurado, precisamos instalar algumas ferramentas para compilar o compilador do GO. Utilize:

$ sudo apt-get install mercurial bison gcc libc6-dev ed</pre>

Com as ferramentas instaladas, devemos baixar o código fonte do repositório do GO. Utilize:

$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT</pre>

Ao término da cópia dos arquivos, entre no diretório $GOROOT/src:

$cd $GOROOT/src

E execute:

$ ./all.bash

Aguarde a compilação. Ao término, caso tudo ocorra bem você deverá ler a mensagem:

--"cd ../test<br />"
N known bugs; 0 unexpected bugs

Podem acontecer alguns erros durante a compilação. Aqui, ocorreu um durante a teste da lib net, onde é realizada uma tentativa de conexão com o google. Nesse caso, bastou indicar ao processo que essa biblioteca não deveria ser testada. Para isso, editei o arquivo $GOROOT/src/pkg/Makefile, e, no item NOTEST, adicione um novo item “net&#8221;. Por fim, executei novamente all.bash.

Pronto, agora você já pode começar a brincar com a nova linguagem. Para compilar utilize:

$ 8g arquivo.go && 8l arquivo.8`

Será criado o executavel arquivo.out.

Caso utilize um sistema 64bits, troque o 8 pelo 6:

$ 6g arquivo.go && 6l arquivo.6`

Agora, restar estudar a linguagem e ver do que ela é capaz =D

Para mais informações, alguns links:

  • Tutorial – Resumo geral da linguagem. Ideal para quem está começando.
  • Effective GO – Documentação detalhada sobre a sintaxe da linguagem.
  • Documentação dos comandos
  • Documentação dos pacotes e bibliotecas
  • Lista de discussão GO-Nuts