O que é a linguagem de programação Go? - Blog da Locaweb
By locaweb	Desenvolvedores 03/12/2018
A linguagem de programação Go nasceu nos escritórios do Google, no ano de 2007, como um projeto interno por meio de Ken Thompson, Rob Pike e Robert Griessemer, e foi lançada em código livre em novembro de 2009. Trata-se de uma versão muito inspirada na linguagem C que apresenta características de alto nível, como garbage collection e abstração para estruturas de dados.
Estamos falando de um método que não faz promessas, o que a torna tão interessante a longo prazo. A linguagem Go foi inventada devido ao descontentamento com os recursos de sistemas existentes
Você ficou interessado e quer saber mais sobre essa linguagem? Então, continue acompanhando este texto e conheça as suas principais vantagens e o motivo de ela ter se tornado tão popular. Boa leitura!
O que é a linguagem Go de programação?
A linguagem Go é open source e, como já mencionamos, foi criada pelo Google no ano de 2009, mais especificamente por engenheiros como Ken Thompson e Rob Pike, pessoas que tiveram total influência em projetos open source de escala imensa e na história da computação. Para dar um exemplo bem simples desse modelo de projeto, podemos citar o Unix, um sistema operativo portável, multitarefa e multiutilizador.
Só por dizer isso, sem dúvidas você já pode largar tudo e acompanhar os passos desses profissionais confiavelmente, até porque são pessoas que jamais trabalhariam em algo meia boca. Porém, brincadeiras à parte, é preciso reforçar que essa linguagem foi criada com propósitos bastante simples, entre eles, garantir a rapidez do C, no entanto, ser uma pouco mais fácil e/ou legível de programar.
Quais as principais vantagens dessa linguagem?
Algumas linguagens de programação têm crescido muito ao longo do tempo, enquanto certos modelos foram criados de forma acadêmica. Outras foram projetadas, ainda, em uma era extremamente diferente de computação, com problemas distintos de hardware e demais necessidades.
O Go é uma linguagem projetada explicitamente, destinada a solucionar problemas com ferramentas e com recursos já existentes, enquanto aproveita as arquiteturas de hardware modernas nativamente. É uma linguagem que foi projetada com equipes de desenvolvedores em mente e com equipes de manutenção a longo prazo.
A linguagem Go, no seu core, é pragmática. No mundo real da Tecnologia de Informação, o software em larga escala e bastante complexo é escrito por grandes equipes de desenvolvedores.
Normalmente, esses profissionais têm diferentes níveis de habilidades, que vão desde "juniores" até os chamados "seniores". Estamos falando aqui de uma linguagem muito fácil de tornar-se funcional e muito apropriada para desenvolvedores juniores trabalharem.
Sem contar que ter um idioma que incentiva a compreensão e a legibilidade é muito útil. A mistura de features de conveniência e de tipagem duck (via interfaces), como ":=" para declarações de variáveis curtas, sem dúvidas dão a sensação de uma linguagem tipada dinamicamente, mantendo ainda os benefícios de uma tipagem forte.
O garbage collection nativo da linguagem Go elimina a necessidade de os desenvolvedores realizarem o seu próprio gerenciamento de memória, ajudando a evitar dois problemas bastante comuns:
inúmeros programadores pensarem que o gerenciamento de memória seria realizado para eles;
o gerenciamento exige diferentes rotinas para cores diferentes de processamento. A tentativa de forma manual de contabilizar cada configuração certamente pode aumentar o risco de vazamentos de memória.
A concorrência nativa da linguagem Go é um grande presente para aplicações de rede que morrem e que vivem em concorrência. Das APIs aos frameworks de servidores e aplicativos web, os projetos que envolvem o idioma tendem a se concentrar em funções distribuídas e/ou serviços e em redes para os quais os canais de Go e "goroutines" sejam apropriados.
A que se deve sua popularidade e crescimento de uso?
A linguagem de programação Go, muitas vezes denominada "golang do Google", tem disparado em popularidade nos últimos anos. Códigos como Javascript e PHP, por exemplo, continuam a dominar a programação web, porém novas linguagens, como Go, se aproveitam melhor dos recursos da computação moderna e principalmente de ambiente cloud.
Esse uso crescente do Go se deve ao fato de ser uma linguagem de código aberto e leve, totalmente adequada às arquiteturas de microsserviços presentes hoje. Basta mencionar que tanto o Kubernetes como o Docker foram criados usando a linguagem Go. Além disso, essa é uma linguagem que tem ganhado muita força no campo da ciência de dados.
O Go, como uma linguagem de engenharia, beneficia os desenvolvedores de inúmeras formas, incluindo concorrência nativa, garbage collection e vários outros recursos nativos que diminuem a necessidade dos desenvolvedores escrevem código para trabalhar com vazamentos de memória ou aplicativos em rede.
É importante reforçar que a linguagem também fornece muitos outros recursos que se encaixam de maneira perfeita na ciência de dados e nas arquiteturas de microsserviços.
Por conta de tantos benefícios, a linguagem Go está sendo adotada por projetos e empresas interessantes. Uma API para o Tensorflow foi adicionada recentemente, além disso, produtos com o Pachyderm estão sendo criados a partir do uso desse idioma. Partes da Cloud Foundry e o Force.com da Heroku também foram escritas em Go. Muitos outros nomes têm sido adicionados regularmente.
É possível ver de forma bem clara o incrível salto em popularidade da linguagem desde 2016 no índice TIOBE. Hoje em dia, a linguagem Go ocupa a posição número 10 na lista mensal, muito distante da posição de número 65 de dois anos atrás.
The Stack Overflow Survey 2017 também mostrou sinais desse aumento de popularidade da linguagem Go. A pesquisa abrange 64 mil desenvolvedores e se preocupa em descobrir as preferências dos profissionais fazendo questionamentos a respeito das que são mais temidas, queridas e desejadas.
Uma lista que tem linguagens mais recentes, como Typescript, SwifT, Smalltalk da Apple, o Rust, da Mozilla e, claro, o Go do Google. Porém, pelo terceiro ano consecutivo, Swift, Rust e Go ficaram entre as cinco linguagens de programação mais amadas.
Enfim, Go é uma linguagem muito madura e, devido à compatibilidade futura que é prometida pelos desenvolvedores, é extremamente adequada para projetos de softwares profissionais. Sem contar que os tempos curtos de compilação são relevantes para grandes projetos. A redução no escopo torna-a relativamente fácil de aprender, além de manter código de terceiros fácil de ler. Isso beneficia a manutenção de qualquer parte do software.
A linguagem de programação Go garante vários recursos que vão permitir desenvolvimento orientado a objeto, porém exige alguma acomodação de novos conceitos. É um método que está previsto para ser implementado em uma quantidade crescente de projetos, principalmente na área de programação de sistemas.
Agora que você já sabe como funciona e já conhece as inúmeras vantagens, aproveite essa linguagem que só tende a crescer nos próximos anos.
E, então, tem alguma dúvida? Então, aproveite para deixar o seu comentário e compartilhar o texto com seus amigos.