Porque não é divertido o suficiente: por que as linguagens fracassam
O sucesso de uma linguagem de programação, argumentam alguns, tem menos a ver com elegância técnica e mais com fatores humanos como “diversão”, força do ecossistema e apoio de grandes plataformas ou empresas. Comentadores rejeitam reduzir tudo à diversão, apontando em vez disso para perspectivas de emprego, bibliotecas e ferramentas, cultura da comunidade e acidentes históricos que ajudaram linguagens como C, JavaScript, Python e Rust a prosperar enquanto opções mais refinadas ou expressivas (Lisp, Haskell, Scala, Objective-C) permaneceram de nicho. Vários paralelos são traçados com a programação assistida por IA, vista como rápida e conveniente, mas frequentemente produzindo código medíocre, reforçando a ideia de que ferramentas vencem por praticidade e integração, e não por pura sofisticação.
IA e Geração de Código
- Vários comentários relacionam a analogia do artigo “sampler vs musician” à IA: a IA pode gerar código rapidamente, mas carece de “alma” e de visão de design.
- Alguns argumentam que a IA é “ótima em produzir código”; outros discordam fortemente, relatando saídas inchadas, mal fatoradas e difíceis de direcionar para designs elegantes ou idiomáticos.
- Consenso: código gerado por LLM é rápido e conveniente para scripts descartáveis ou componentes não críticos, mas ainda não é consistentemente “bom” ou arquitetonicamente sólido.
Por que Linguagens Têm Sucesso ou Fracassam
- Muitos dizem que o sucesso raramente depende apenas da elegância da linguagem; adequação à plataforma, timing e apoio importam mais.
- O status de “nativa de uma plataforma” (por exemplo, JS em navegadores, Swift para Apple, Java para JVM) é repetidamente citado como decisivo.
- Ecossistema (stdlib, bibliotecas, ferramentas, documentação, mercado de trabalho) é considerado mais importante do que a sintaxe central.
Plataforma, Ecossistema e Política
- O impulso do fornecedor é visto como crucial: Apple para Swift, Microsoft para C#/VB, Mozilla para Rust.
- Alguns argumentam que a popularidade de uma linguagem é fortemente política: dominada por comunidades anglófonas e promotores “do grupo interno”.
- Disponibilidade comercial vs gratuita (por exemplo, ColdFusion vs PHP) é citada como fator que moldou a adoção inicial de linguagens web.
Debates sobre Linguagens Específicas
- Objective‑C vs Swift: discordância sobre se ObjC “fracassou” ou foi simplesmente descontinuada pela política da Apple, e não por falta de diversão.
- JavaScript vs Python: discordância sobre qual é “boom” vs “bust”; JS vence pela ubiquidade no navegador, Python pelo ecossistema e legibilidade.
- Scala: atribuída, de formas שונות, a uma comunidade elitista, ferramentas lentas e uma longa reescrita do compilador que não resolveu os principais pontos de dor.
- Lisp: elogiada por REPL, macros e diversão; criticada por ecossistemas fracos e fragmentados.
- C/C++: rejeitadas por alguns pela complexidade, mas reconhecidas por desempenho e incumbência histórica.
- Kotlin vs Java: Kotlin é visto como mais agradável, mas incapaz (até agora) de deslocar a posição enraizada de Java.
“Diversão” vs Praticidade
- Vários comentaristas dizem que “diversão” é subjetiva e insuficiente como preditor de sucesso.
- Linguagens “chatas” ou rígidas (Go, Java, C) podem prosperar porque são previsíveis, apoiadas e “apostas seguras”.
- Alguns mantenedores contratam explicitamente pessoas que gostam de programar; outros enfatizam que os empregos priorizam estabilidade, não prazer.
Ferramentas, REPLs e Experiência do Desenvolvedor
- Bons gerenciadores de pacotes, ferramentas de build e GUIs multiplataforma são vistos como grandes impulsionadores de adoção.
- Fluxos de trabalho dirigidos por REPL (Lisp, outras) são contrastados com fluxos centrados em testes unitários; vistos como complementares, não intercambiáveis.
- Rust é descrita como sintaticamente “sem graça”, mas redimida por excelente tooling (cargo, crates).