Meus 2 Cents:
🚨 As Críticas Que Fazem Sentido (Sim, Elas Existem)
Olha, vou ser honesto: Python tem limitações reais e fingir que não existem é desonestidade intelectual.🔒 GIL (Global Interpreter Lock): Limita concorrência real com threads. Se você precisa de paralelismo pesado, vai ter que usar multiprocessing (mais pesado) ou considerar outra linguagem.
🕵️ Tipagem dinâmica: Em projetos grandes, pode virar bagunça. Por isso surgiram ferramentas como mypy e type hints — reconhecendo o problema e oferecendo solução.
📦 Packaging: Historicamente foi uma dor. Melhorou muito com Poetry e uv, mas ainda não é perfeito.
⚡ Performance bruta: Sim, é mais lento que linguagens compiladas. Não dá pra negar.
E sabe qual a diferença entre um desenvolvedor maduro e um fanboy? O maduro admite as limitações e escolhe a ferramenta certa pro problema. Muitas vezes é Python. Às vezes não é.
Eu amo Ruby, e posso dizer RUBY NÃO PRESTA.
É o tipo de baboseira que vai perseguir qualquer iniciante no mundo da prgramação.
Mas, vamos olhar por outro lado.
Veja que toda linguagem vai ter dialetos (Ruby tem o JRuby), Python tem o IronPython, StacklessPython, ...
A arquitetura de software permite a mixture of experts onde um mesmo sistema pode ser um pipeline onde a melhor linguagem/ferramenta atua no seu melhor caso de uso.
O que resta são três perguntas:
- Onde?
- Como?
- Porquê?
Escolhi C.
- Onde?
Em embarcados - Como?
Utilizando para orquestrar o microcontrolador - Porque?
Porque C é a linguagem que melhor atua no baixo nível
Eu escolhi Ruby
- Onde?
Backend Web - Como?
Através do framework RubyOnRails - Porque?
As gems são facilmente integraveis, a comunidade é grande e o framework é maduro
Tudo que precisamos é de uma base e uma decisão, não precisa ser cargo cult de uma linguagem, os melhores não são. Eles busccam entender o problema, e escolher o que melhor se adapta a este problema.