DEV Community

Cover image for Porque escolhi o Golang como segunda linguagem
Joubert RedRat
Joubert RedRat

Posted on • Originally published at blog.redrat.com.br

Porque escolhi o Golang como segunda linguagem

Durante a minha carreira uma coisa que eu percebi é que depender somente de uma ferramenta pode não ser uma boa idéia e no meu caso, isto estava aplicado a linguagem de programação, pois até então eu tinha domínio somente de PHP e um pouco de JavaScript.

Porque Golang?

Durante minha busca por uma nova linguagem de programação para "amar" me deparei com uma linguagem que estava sendo muito usada no mundo DevOps, o Golang, e acabei me interessando por ele, principalmente pelos pontos abaixo.

Linguagem Compilada

Eu procurava uma linguagem compilada e o que gostei do Golang é que ele gera um arquivo compilado assembly, não sendo necessário o Golang para execução, diferente de outras linguagens, que gera um binário bytecode, sendo dependente de máquina virtual para execução.

Binário Cross platform

Além de ser uma linguagem compilada, ela é cross platform, ou seja, você consegue gerar binário para Linux, MacOS, Windows, etc, nas arquiteturas i386, x86_64, arm64, etc, e o mais legal, você consegue gerar binário para Windows e MacOS no Linux e vice-versa, isto é fantástico.

Filosofia Minimalista

Uma das coisas que me incomodava um pouco no mundo PHP era o quão "inchado" era os frameworks, além das mágicas que ocorria "debaixo do capô" e que tirava o controle do desenvolvedor e com o Golang isto é justamente o contrário.

No Golang existe um filosofia muito forte na comunidade de que caso você queira, consegue fazer praticamente tudo com a stdlib, ou seja, a idéia é "Do It Yourself".

Claro que você vai usar libs, mas será poucas, somente para o essencial e você mesmo faz todo o resto. No meu caso geralmente uso lib para rotas, log, banco de dados e migrations, cli e pronto, o resto é tudo por minha conta, como a injeção de dependências, e como é gostoso ter controle sobre isto.

Concorrência e Paralelismo

O Golang desde sempre tem suporte nativo a goroutines e outros meios de fazer concorrência e paralelismo e com ele eu começei a conseguir fazer estes processos de forma mais fácil.

Eu e o Golang Hoje

Depois de me aprofundar nos pontos acima, ter cerca de 4 anos de experiência com Golang em vários projetos e até contribuições para o mundo opensource, fico satisfeito em ter esta segunda linguagem na bagagem para ajudar a resolver problemas do mundo real.

Então é isto, até a próxima!

Top comments (0)