1. Um padrão histórico, com o risco de incorrer em historicismo
Com o risco de incorrer em historicismo, mas ainda assim assumindo o custo analítico dessa escolha, há um padrão recorrente no desenvolvimento de software: sempre que um novo nível de abstração se mostra funcional, o nível anterior não desaparece, ele é empurrado para baixo do capô. Continua existindo, continua sendo essencial, mas deixa de ser o espaço cotidiano de operação humana.
Foi assim com a linguagem de máquina, nível 1, inacessível ao humano comum. O assembly, nível 2, surgiu como mediação, mas rapidamente revelou um custo cognitivo alto demais para escalar. As linguagens de alto nível, nível 3, não eliminaram o assembly, elas o encapsularam. O mesmo ocorreu com o código de máquina. Cada salto de abstração reduziu atrito humano e deslocou o foco do “como” para o “o quê”.
O que vivemos hoje com LLMs, prompts e linguagens de intenção não é uma ruptura ontológica inédita. É a continuação acelerada desse mesmo movimento, com uma diferença decisiva: agora, o objeto abstraído não é apenas o hardware, mas a própria decisão.
2. Linguagens e processos coevoluem, ou quebram juntos
Esse deslocamento nunca foi apenas técnico. Cada salto de linguagem exigiu novos processos. Linguagens de alto nível caminharam junto com modularização, bibliotecas, controle de versão, testes automatizados e integração contínua. Linguagem e processo são coevolutivos. Quando um deles para no tempo, o outro vira ruína funcional.
O problema atual é o descompasso. As linguagens e os processos dominantes foram desenhados para um mundo em que o principal gargalo era a escrita humana de código. Scrum, sprints, histórias de usuário, pull requests e code reviews manuais partem da mesma premissa: código é caro porque atenção humana especializada é escassa.
Essa premissa não se sustenta mais. O gargalo deixou de ser escrever código, passou a ser governar sistemas que o produzem.
3. A escassez mudou de lugar, execução virou governança
Com LLMs, a escassez migrou. Gerar código, refatorar, testar e revisar deixou de ser o centro do problema. O novo núcleo da engenharia é definir corretamente intenção, limites, restrições, critérios de validade e mecanismos de verificação.
Programar deixa de ser uma atividade predominantemente instrucional e passa a ser uma atividade de coordenação. O foco sai da execução detalhada e vai para a definição do espaço legítimo de soluções. Não se diz mais “faça assim”, mas “qualquer solução fora disso está errada”.
É aqui que processos tradicionais entram em colapso, eles foram criados para coordenar humanos escassos, não agentes abundantes.
4. Prompt não é linguagem, é fase de transição
Grande parte da confusão atual nasce da supervalorização do prompt. Para alguns, ele é o novo código. Para outros, uma ameaça à engenharia séria. Ambas as leituras erram o alvo. Prompt não é linguagem de programação, é uma interface provisória, exploratória e ambígua por natureza.
Prompts são difíceis de versionar, quase impossíveis de verificar formalmente e profundamente dependentes de contexto e modelo. Nenhum sistema crítico pode se sustentar sobre isso. O papel histórico do prompt é permitir exploração enquanto as abstrações corretas ainda não foram consolidadas.
A história da engenharia mostra que o que vem depois nunca é “mais improviso”, são novas linguagens. Linguagens formais, declarativas, governáveis, criadas exatamente para substituir intuição solta por estrutura verificável.
5. Programadores não somem, mudam de nível, e que venham as novas linguagens
A ideia de que programadores vão desaparecer é ignorar a história da engenharia. Programadores nunca somem, eles mudam de nível. O operador de máquina não desapareceu, virou engenheiro. O programador de assembly não sumiu, virou arquiteto de sistemas. O mesmo ocorre agora.
Os programadores mais técnicos sobem de camada. Deixam de escrever lógica de baixo nível e passam a projetar linguagens, DSLs, contratos semânticos, sistemas de restrição e modelos de governança. O código tradicional torna-se um artefato intermediário, gerado, avaliado e descartado conforme critérios formais.
Usuários e profissionais não técnicos continuarão operando em linguagem natural. Programadores técnicos definirão o terreno onde essa linguagem pode atuar com segurança, repetibilidade e auditabilidade. Confundir o desaparecimento de uma tarefa com o desaparecimento de uma profissão é erro clássico de quem nunca entendeu engenharia como processo histórico.
Linguagens e processos hoje dominantes tornaram-se anacrônicos não por falha técnica, mas por mudança de contexto cognitivo. Eles foram desenhados para um mundo de escassez humana que já não existe. O próximo ciclo do software será liderado por quem aceitar que programar não é mais instruir máquinas, é governar sistemas capazes de decidir.
Que venham as novas linguagens.