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)