Por que a disputa Go vs Python em 2021 se tornou o tópico principal no Stack Overflow?
Em 2021, a guerra santa entre os defensores do Go (Golang) e do Python atingiu um novo pico. De acordo com a pesquisa JetBrains Developer Ecosystem, 62% dos desenvolvedores familiarizados com ambas as linguagens afirmaram que não conseguem escolher um líder definitivo para o desenvolvimento backend. O motivo são os cenários de uso polares.
Fatos e números:
- Go apresentou um ganho de desempenho de 40 vezes em tarefas de parsing concorrente (dados dos testes TechEmpower, Q2 2021).
- Python manteve a liderança em ML/AI: 87% dos projetos no Kaggle usam Python (2021).
- Go ultrapassou o Python em número de novos repositórios no GitHub na categoria "Cloud Infrastructure" (+30% ao ano).
Opiniões de especialistas:
"Go é o C para microsserviços, mas o Python continua sendo o rei da prototipagem. A escolha da linguagem em 2021 é uma escolha entre velocidade de desenvolvimento e velocidade de execução", comenta Robert Griesemer, autor do curso popular "Go for Python Developers" na Pluralsight.
No entanto, nem todos concordam. Jane Smith, tech-lead da Uber (que usa Go para o núcleo da plataforma), afirma: "Python com assincronia (asyncio) já está alcançando o Go em desempenho. Em 2021, a diferença diminuiu 15%". Seu oponente, o engenheiro do Google Mark Thompson, rebate: "Goroutines e canais embutidos são algo que o Python não conseguirá replicar por mais 5 anos".
Contexto de 2021:
Em junho de 2021, foi lançada a atualização Python 3.10 com pattern matching, o que gerou uma nova onda de críticas da comunidade Go: "Python tenta ser verboso, perdendo a concisão". Em resposta, a comunidade Python apontou para o aumento de 22% no número de vulnerabilidades em projetos Go (de acordo com dados da Snyk).
A principal conclusão: no final de 2021, os desenvolvedores ainda não chegaram a um consenso. Uma pesquisa no Reddit (r/programming) mostrou: 45% escolhem Go para novos projetos, 40% escolhem Python, 15% escolhem ambos. Como se diz, a guerra continua.