GOLANG, ou simplesmente GO, é uma linguagem de programação desenvolvida pelo google para o google.

Um grupo de desenvolvedores do google estava insatisfeito com as opções de linguagens e sistemas existentes para produzir sistemas para o google. Problemas como:

  • dificuldade de compilar/deployar um projeto grande
  • deficiência de algumas linguagens em lidar com multiprogramação
  • gerência de dependência confusa

Pensando nestes problemas, e noutros, Robert Griesemer, Rob Pike e Ken Thompson desenharam em 2007 os objetivos de uma nova linguagem. Em 2008 o projeto ganhou dedicação exclusiva e em 2009 tornou-se público, cujo os objetivos principais são prover uma linguagem:

  • Com rápida compilação
  • Com análise de dependência fácil
  • Tendo garbage-collection
  • Multiprogramação já no design da linguagem

Portanto podemos resumir em uma linha que GO é:

Uma linguagem compilada, com suporte a concorrência nativo, com garbage-collection e com tipagem estática

Outro aspecto importante da filosofia por trás do desenvolvimento do GO é a engenharia de software. Explicitamente os autores mencionam que foram orientados a resolver questões pertinentes a engenharia de software, como:

  • Conjunto de ferramentas
  • Simplicidade no modelo de programação (concorrência e garbage collector)
  • Composição ao invés de herança
  • Sintaxe simples
  • Semântica simples
  • Resolução de dependência nativa

De fato, tendo este conjunto de soluções já nativa à linguagem e não provido por bibliotecas facilita o trabalho da engenharia. (mas lembrem-se que não há bala de prata)

Diante da natureza da linguagem orientada a resolver problemas já conhecidos e que outras ferramentas não tiveram sucesso em endereçar (além da necessidade de estender um software já desenvolvido em go), iniciarei uma série de estudos desta linguagem.

maiores informações: