Ir para o conteúdo principal
Voltar aos artigos

Vai uma Linguagem Otimizada pra IA Custar a Legibilidade Humana?

·4 min de leitura·10 visualizações

Será que vamos ter uma linguagem de programação otimizada pra IA — e que nenhum humano consegue ler? Parece ficção científica, mas já tem gente experimentando minimizar tokens pra "eficiência de LLM", sem a menor preocupação se um dev consegue entender aquilo depois.

Stephen Cass, editor de projetos especiais da IEEE Spectrum, jogou a pergunta que ninguém queria ouvir: "E se a IA fosse direto do prompt pra uma linguagem intermediária que alimenta o compilador ou interpretador? A gente ainda precisa de linguagens de alto nível nesse futuro?"

Pensa comigo: o cara tá basicamente sugerindo que código-fonte legível pode virar peça de museu.

Cass não é ingênuo — ele mesmo admite o problema óbvio: "Sim, isso transformaria programas em caixas-pretas incompreensíveis." Mas argumenta que daria pra dividir tudo em módulos testáveis pra manter alguma sanidade. E em vez de ler e manter código, programadores simplesmente ajustariam seus prompts e gerariam o software do zero. Toda vez.

Isso levanta uma pergunta que dá um nó na cabeça: qual é o papel do programador num mundo sem código-fonte?

Cass organizou até uma "sessão interativa de emergência" em outubro pra discutir se a IA tá sinalizando o fim das linguagens de programação como conhecemos. No webinar, ele disse que programadores ainda teriam papel — sugerindo interfaces, escolhendo algoritmos, tomando decisões de arquitetura. O código gerado teria que passar em testes e "ser capaz de explicar o que está fazendo."

Mas a parte que me pega é quando ele pergunta: "O que acontece quando a gente realmente liberar as IAs dessa obrigação?" Quando pararmos de exigir que elas codem em linguagens de alto nível — porque, no fim das contas, linguagens de alto nível "são uma ferramenta pra seres humanos." E se deixarmos as máquinas irem direto pra código intermediário?

Cass acha que descer até linguagem de máquina seria demais — "porque você ainda quer uma camada de compilação pra diferentes arquiteturas." Faz sentido. Imagina debugar um bug numa linguagem que literalmente ninguém entende, rodando em ARM e x86 ao mesmo tempo. Boa sorte.

Uma frase dele que ficou na minha cabeça: "E se você cometer menos erros, mas erros diferentes?" Esse é o tipo de trade-off que ninguém tá discutindo o suficiente. Menos bugs triviais, talvez — mas bugs arquiteturais que nenhum humano consegue rastrear porque o código é ilegível? Isso me assusta mais do que null pointer exception.

Cass disse que tá de olho em papers sobre design de linguagens pra IA, mas concorda que não é pra amanhã — "a gente ainda tá digerindo o 'vibe coding' agora." Mas ele vê isso virando uma área ativa de pesquisa.

Andrea Griffiths, developer advocate sênior no GitHub e autora da newsletter Main Branch, já viu tentativas de linguagens "AI-first", mas nenhuma com adoção real até agora. E honestamente? Talvez o caminho mais realista seja outro: agentes de IA que simplesmente facilitem o uso das linguagens que já existem — especialmente linguagens tipadas, que já trazem vantagens de segurança embutidas. TypeScript e Rust agradecem.

E tem o Mojo, do Chris Lattner (o cara por trás do Swift e do LLVM). O podcast do Scott Hanselman chamou o Mojo de "linguagem de programação pra um mundo de IA" — não porque IA escreve nela, mas porque foi projetada pra extrair o máximo de chips multi-core modernos. É uma abordagem bem diferente: em vez de criar uma linguagem que humanos não entendem, criar uma que humanos E máquinas aproveitam melhor.

Minha visão? Acho que o cenário "código invisível gerado por IA" é tecnicamente possível, mas culturalmente improvável no curto prazo. Devs são controladores por natureza — a gente quer ver o que tá rodando. Mas confesso que 5 anos atrás eu também diria que ninguém aceitaria código gerado por autocomplete, e cá estamos com Copilot em todo canto. Então, quem sabe.


Fonte: Will AI Force Source Code to Evolve - Or Make it Extinct? (via Slashdot)

Continue lendo