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”. 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