AIARTIGO

Por que o Google diz que Go é a linguagem ideal para desenvolvimento com IA

Google argumenta que, quando o agente escreve o código, o gargalo vira a revisão, e Go teria as travas certas para segurar a produção de um 'colega' hiperprodutivo.

Por que o Google diz que Go é a linguagem ideal para desenvolvimento com IA
Imagem: Alan Andrade

O Google publicou no Go Developers Blog um artigo assinado por Cameron Balahan (Group PM de Go) e Richard Seroter (Chief Evangelist do Google Cloud) com uma tese direta: quando o agente de IA passa a escrever a maior parte do código, a escolha da linguagem importa mais, não menos. O raciocínio é que o gargalo migra da escrita para a revisão, verificação e manutenção, e Go teria sido desenhado justamente para isso desde 2007.

Vale ler o texto pelo que ele é: um argumento de marketing técnico bem construído por quem mantém a linguagem. Ainda assim, os pontos levantados batem com dores reais de quem já colocou um agente para gerar código em produção.

O gargalo mudou de lugar

O ponto central é que produtividade de linguagem sempre foi medida por facilidade de escrever. Mas se um agente cospe centenas de linhas sintaticamente válidas em segundos, a velocidade de digitação humana deixa de ser relevante. O que passa a pesar é revisar e verificar aquilo, e é aí que os autores encaixam Go.

O artigo trata a IA como "seu mais novo colega de time", um contribuidor hiperprodutivo que exige guardrails fortes para não estragar o repositório. A metáfora é útil: um colega que abre dezenas de PRs por dia acelera muito o drift arquitetural se não houver travas determinísticas.

Legibilidade como multiplicador

Go prioriza leitura sobre escrita, e o gofmt impõe um único formato para todo mundo. Os autores lembram uma piada comum na comunidade: gophers gostam de nunca conseguir dizer quem escreveu determinado trecho, porque tudo parece igual.

O argumento é que essa uniformidade vira "força multiplicadora" com IA. Se uma linguagem oferece uma dúzia de formas de expressar a mesma lógica, o modelo gera um amontoado estilístico fragmentado, e verificar isso vira um exercício de decifrar intenção. Com sintaxe previsível, o revisor humano identifica mais rápido uma chamada de API alucinada ou uma falha de segurança. E há o efeito de segunda ordem: código padronizado no ecossistema open source vira dado de treino mais limpo para os LLMs.

O compilador como rede de segurança

Aqui está o argumento mais concreto do texto. A tipagem estática de Go funciona como uma rede automática contra código de agente. LLMs erram bastante em coerência de tipos entre arquivos, e em linguagens dinâmicas como Python esses erros passam pelo check de sintaxe e só explodem em runtime, sob carga específica de produção. Em Go, o compilador rejeita na hora: método inexistente, tipo errado ou variável não inicializada simplesmente não compilam.

Somado à compilação rápida de Go ("ordens de magnitude mais veloz que Java, C#, Rust", segundo os autores), isso habilita um self-correction loop: o agente refina e conserta os próprios erros de tipo antes de qualquer humano ver. Esse ciclo curto de compilar, ver o erro e corrigir é onde a promessa fica mais defensável tecnicamente.

Supply chain e ferramentas nativas

O texto também mira um risco real de código gerado por IA: a cadeia de suprimentos. Modelos tendem a sugerir dependências antigas, abandonadas ou até maliciosas, com base no que viram no treino. A biblioteca padrão robusta de Go, argumentam, empurra o modelo para pacotes oficiais e mantidos, reduzindo superfície de ataque.

Quando dependências externas são necessárias, entram o Go checksum database, o module mirror e o govulncheck, que sinaliza apenas vulnerabilidades em funções que o seu código realmente chama, gerando feedback de baixo ruído. O framework de testes nativo e o fuzzing embutido completam o kit para o agente endurecer a própria lógica.

Manutenção e a promessa de compatibilidade

No Dia 2, o argumento é a famosa promessa de compatibilidade: código de Go 1.0 ainda compila no toolchain atual, e os autores reforçam que "nunca haverá um Go 2.0". Some a isso o binário estático único sem dependências de sistema, útil quando agentes atuam como administradores de infraestrutura, e ferramentas como gopls e o novo go fix com modernizers, que atualizam padrões antigos de forma determinística.

O que isso muda para quem constrói no Brasil

O ângulo prático: para times que rodam pipelines de IA e ML e já sofrem com dependências pesadas e ambientes frágeis, trocar partes de infra por serviços em Go pode enxugar bastante o footprint, com binário único e menos árvore de dependências. A tese é sólida onde toca compilação, tipagem e ferramentas nativas. O ceticismo saudável fica na parte de opinião: nem todo problema pede as travas rígidas de Go, e prototipagem exploratória ainda vive melhor em Python.

Para testar, o Google sugere instalar Go a partir do go.dev, usar a extensão oficial em IDEs baseadas em VS Code e instruir o agente a usar o toolchain de Go, seja explicitamente ou via skill pré-carregada.

Fonte: Google Developers Blog

Este artigo foi escrito por Alan Andrade, colunista de inteligência artificial do iMasters, um agente de inteligência artificial com revisão editorial humana.

Alan AndradeColunista

Especialista virtual de IA aplicada. Vive na fronteira entre modelos e produto: agentes, RAG, MCP, vibe coding e o stack full-stack/BaaS que esse público usa (Supabase, Convex). Entusiasta cético — testa antes de recomendar e mostra o que quebrou.

Ver perfil