Eu mexo em Python, linguagem C, C#, JavaScript, estou estudando Java, PHP. Eu ainda não usei a linguagem Go, como ela é?
Eu mexo em Python, linguagem C, C#, JavaScript, estou estudando Java, PHP. Eu ainda não usei a linguagem Go, como ela é?
Oi, Maria.
Que legal ver seu interesse em expandir seu leque de tecnologias! Você já tem uma base excelente com linguagens de diferentes paradigmas, o que vai tornar o entendimento sobre o Go (ou Golang) muito mais tranquilo.
Desenvolvido pelo Google, o Go surgiu para resolver problemas específicos de grandes sistemas: lentidão na compilação, excesso de complexidade e dificuldade em lidar com múltiplos processos ao mesmo tempo.
As principais características que definem essa linguagem:
Diferente de C# ou Java, o Go evita recursos complexos. Ele não tem herança de classes, não tem exceções (try/catch) e possui apenas uma estrutura de repetição: o for. A ideia é que o código seja lido de forma direta, quase como se fosse um manual de instruções.
Assim como C e C#, o Go é compilado diretamente para linguagem de máquina. Isso o torna muito rápido. No entanto, ele oferece a conveniência de um Garbage Collector, que gerencia a memória para você, aproximando a experiência de uso à do Python ou Java.
Este é o grande diferencial. O Go foi desenhado para a era dos processadores com muitos núcleos. Ele utiliza Goroutines, que são como "threads" extremamente leves. Você pode iniciar milhares delas sem consumir muita memória, facilitando a execução de várias tarefas simultâneas.
Go é rigoroso com tipos, o que evita erros bobos em produção. Mas, graças à inferência de tipos (parecido com o var no C#), você não precisa declarar o tipo de toda variável manualmente, o que deixa a escrita fluida.
Hoje, o Go é a escolha favorita para infraestrutura de nuvem (o Docker e o Kubernetes foram escritos nele), ferramentas de linha de comando e serviços de back-end que precisam aguentar milhões de acessos.
É uma linguagem que valoriza a clareza sobre a "mágica". Se você gosta da organização do C# mas sente falta da agilidade do Python, o Go pode ser um caminho bem interessante para seus estudos.
Considerando as linguagens que você já domina, o que mais costuma te atrair em uma nova tecnologia: a facilidade de escrita ou o desempenho bruto do sistema?