Go Language – o que é e por que usar?

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Vamos falar da linguagem Go, uma linguagem que nasceu nos escritórios do Google em 2007 como um projeto interno, através de Rob Pike, Ken Thompson e Robert Griessemer, e em novembro de 2009 foi lançado como um projeto de código aberto.

A linguagem Go é bastante inspirada na linguagem C, e apesar disso possui características de mais alto nível, dentre elas, abstração para estruturas de dados e garbage collection.

Go nasceu para resolver problemas como longo tempo de compilação e a dificuldade em escalar o desenvolvimento de grandes aplicações, além de tornar o desenvolvimento de servidores no Google algo mais produtivo e eficiente. Um controle inteligente e rigoroso de dependências, baseado na definição e uso de packages também fazem parte da linguagem.

Um dos pontos fortes da Go e um dos maiores diferencias, é a criação de aplicações concorrentes, aproveitando os processadores multi-core de forma mais simples e elegante. Go implementa goroutines, que são processos extremamente leves que se comunicam através de channels, evitando o uso de memória compartilhada e dispensando o uso de travas, semáforos e outras técnicas de sincronização de processos. Além de possuir uma extensa biblioteca padrão com ferramentas para comunicação em redes, servidores HTTP, expressões regulares, leitura e escrita de arquivos.

Outro ponto positivo da linguagem, é oferecer uma sintaxe bastante limpa, se comparada com outras linguagens inspiradas em C, como C++ e Java. Dessa forma Go permite a escrita de programas mais concisos e legíveis, além de facilitar muito a escrita de ferramentas que interagem com o código-fonte (go fmt e go fix, que servem para formatar o código e reescrever partes do código que usem APIs depreciadas para usarem novas APIs introduzidas em novas versões).

Tipagem forte e estática fazem parte da Go, junto com uma forma curta de declaração de variáveis baseada em inferência de tipos, evitando redundância, o que produz um código mais limpo do que linguagens tradicionais. Coleções de dados como slices (listas de tamanho dinâmico), maps (dicionários de dados associativos) e arrays (lista de tamanho fixo) são nativos da linguagem. Apesar de oferecer suporte ao uso de ponteiros, Go não oferece suporte à aritmética de ponteiros.

Go já possui alguns anos no mercado, e vem se tornando uma opção interessante para quem busca uma alternativa à linguagem C, ou precisa construir servidores, ou aplicações multi-thread, buscando um aumento da produtividade, e aplicações mais legíveis. A linguagem vem ganhando força e sendo cada vez mais usada dentro do Google, por exemplo, o servidor do site da linguagem é construído com Go, o servidor que entrega o binário do Google Chrome para download também é feito em Go. No momento da escrita desse post a linguagem está na versão 1.4.1.

O site oficial da linguagem é http://golang.org/
Você pode fazer o download da última versão da linguagem em https://golang.org/dl/

Uma dica importante, quando for pesquisar pela linguagem Go, pesquise por “golang“.

A linguagem traz algumas mudanças de paradigma para quem está habituado a trabalhar com linguagens como Java e C#, mas oferece recursos interessantes, e vale a pena ser avaliada para as situações citadas acima, além de ser open source, e ter o gigante Google por trás.

Vamos falar bastante da Go por aqui, e nos próximos posts, vamos ver como fazer a instalação da linguagem e suas ferramentas, como é sua sintaxe, criar aplicações de exemplo, comparar com outras linguagens para vermos as diferenças entre elas.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

1 thought on “Go Language – o que é e por que usar?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *