O Fim da Programação
As alegações de que agentes de codificação com IA anunciam “o fim da programação” estão a gerar tanto entusiasmo quanto ceticismo. Comentadores apontam exemplos em grande escala, como uma reescrita assistida por IA do runtime Bun JavaScript, como prova de que os modelos agora conseguem gerar e refatorar bases de código enormes, mas argumentam que isso ainda depende de testes, arquiteturas e decisões de produto criados por humanos. Muitos esperam que a natureza do trabalho de software mude para especificação, verificação e compreensão de sistemas em vez de codificação linha a linha, ao mesmo tempo que alertam que a dependência excessiva da IA pode corroer a expertise, degradar a qualidade do software e alterar profundamente os mercados de trabalho dos programadores.
Reação geral ao “fim da programação”
- Muitos veem o título como exagerado ou caça-cliques; outros dizem que ele descreve com precisão uma mudança real na forma como o código é produzido.
- Fazem-se paralelos históricos (por exemplo, o FORTRAN “acabando com a codificação”); o consenso é que a “programação” muda de forma em vez de desaparecer.
- Vários argumentam que isto tem mais a ver com o fim da codificação manual como padrão do que com o fim da engenharia de software.
Reescrita de Bun Zig→Rust como evidência
- Os apoiantes veem a reescrita de Bun como uma prova marcante de que agentes conseguem gerar e refinar iterativamente bases de código grandes e complexas quando há um oráculo forte (testes, implementação de referência).
- Os críticos contra-argumentam que:
- A tradução com uma suíte completa de testes é um melhor cenário possível, não representativo de projetos típicos.
- O código Rust resultante terá, segundo relatos, incluído problemas sérios de soundness e de qualidade.
- Grande parte do benefício pode vir de refatorações gerais, e não apenas da mudança de linguagem ou da própria IA.
- Vários observam que devemos assumir que houve mais revisão humana e engenharia do que o marketing sugere.
Qualidade do código, arquitetura e manutenção
- Há relatos recorrentes de saída de LLMs como “slop”: com bugs, excessivamente confiantes, fracas em refatoração e ruins em arquitetura, a menos que sejam orientadas de forma apertada.
- As pessoas veem os LLMs a destacar-se em boilerplate, tradução e pequenas ferramentas, mas a lutarem à medida que os sistemas se tornam mais complexos ou antigos.
- Há uma preocupação forte de que a dependência de IA desgaste a expertise humana, levando a decisões arquiteturais pobres e a “dívida cognitiva”.
- Testes e verificação são vistos como críticos; alguns acreditam que o código se tornará descartável, regenerado a partir de specs/testes, enquanto outros temem regressões intermináveis sem cobertura quase perfeita.
Papel em mudança dos programadores
- Muitos esperam uma mudança da codificação linha a linha para:
- Definir specs precisas, restrições e harnesses de verificação.
- Arquitetura de sistemas, trade-offs e decisões de produto.
- Rever, depurar e manter código gerado por IA.
- Alguns acham que isto favorecerá engenheiros altamente qualificados e afastará devs “só aqui pelo dinheiro”; outros temem o oposto — perda de técnica e paixão, substituídas por manipulação de prompts.
Impactos económicos e laborais
- As previsões variam entre:
- Equipas onshore mais pequenas + grandes orçamentos de tokens a substituir grandes grupos de engenharia ou outsourcing.
- Pressão deflacionista significativa sobre salários de colarinho branco a nível global.
- Alguns preveem que competências de software se tornem o mínimo exigido para funções de produto, reduzindo o número de “software engineers” dedicados.
- Há ansiedade quanto à prontidão social: fala-se de UBI ou mesmo de “universal high income”, além de receio de que os sistemas políticos atuais não respondam de forma adequada.
Trajetória a longo prazo e questões em aberto
- Vários enquadram isto como a ascensão da metaprogramação / desenvolvimento declarativo ou baseado em intenção, não como extinção.
- Outros argumentam que sistemas totalmente agênticos a decidir reescritas e direção de produto seriam inseguros ou economicamente desalinhados.
- Não está claro se os futuros modelos conseguirão realmente lidar com contexto de produto, político e organizacional de alto nível, e não apenas com código.