Porque escolhi o Golang como segunda linguagem

I am eternal trainee of life that works over 10 years ago in technology area, with focus in engineering and architecture of software and with specialization in financial systems and DevOps, moreover speaker around the world, always receiving and sharing the knowledge with wisdom.
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!




