needhelp
← Back to blog

Bun reescreve 960 mil linhas de Zig a Rust em 6 dias – AI fez o trabalho pesado

by needhelp
bun
rust
zig
ai-codegen
tempo de execução javascript

Bun Zig to Rust rewrite

Em 14 de maio de 2026, o criador do Bun, Jarred Sumner, fundiu PR #30412 — um extenso branch de 6755 commits que reescreve o núcleo do Bun de Zig para Rust. O ramo, claude/phase-a-p..., foi quase inteiramente gerado por agentes de IA de Anthropic’s Claude.

Os números são surpreendentes:

Métrica Valor
Confirmações 6.755
Código traduzido ~ 960 mil linhas de Zig → Ferrugem
Linha do tempo 6 dias
Compatibilidade de teste 99,8% (Linux x64 glibc)
Ramo de origem claude/phase-a-p...

O que realmente aconteceu

Bun foi originalmente escrito em Zig, uma linguagem de programação de sistemas projetada por Andrew Kelley. Zig deu velocidade a Bun - mas também limitou o grupo de colaboradores. Rust, por outro lado, possui um ecossistema enorme, ferramentas maduras e profunda integração LLVM.

Após a aquisição da Bun pela Anthropic, a equipe experimentou usar agentes Claude para traduzir toda a base de código Zig para Rust. O experimento foi executado por 6 dias em um cluster de nós com muita memória, produzindo 6.755 commits.

O resultado: uma base de código Rust que passa em 99,8% do conjunto de testes existente do Bun no Linux x64 glibc.

Migração orientada por IA em escala

Esta é uma das primeiras demonstrações em grande escala de migração de base de código orientada por IA. A abordagem:

  1. Análise de origem: Claude analisou padrões de código Zig, expressões idiomáticas de gerenciamento de memória e a superfície pública da API
  2. Tradução incremental: cada arquivo Zig foi traduzido para Rust de forma incremental, preservando o comportamento por meio de testes baseados em propriedades
  3. Execução paralela: múltiplas instâncias do agente Claude trabalharam em paralelo na base de código
  4. Validação de CI: cada módulo traduzido foi validado em relação ao conjunto de testes existente do Bun

AI migration pipeline

A controvérsia

A fusão gerou intenso debate em toda a comunidade de desenvolvedores:

Comunidade Zig

Bun foi o principal projeto de Zig – a maior e mais visível implantação de produção da linguagem. Loris Cro, membro da Zig Software Foundation, descreveu anteriormente as contribuições do LLM para a Zig como “em sua maioria negativas”. A migração é vista por alguns como uma traição à língua que tornou o Bun possível.

Críticas de “portabilidade Vibe”

Em Lobste.rs, os desenvolvedores cunharam o termo “vibe porting” — tradução orientada por IA que funciona estatisticamente, mas carece de compreensão profunda. Os críticos argumentam que o código Rust gerado pela IA segue padrões superficiais e perde o caminho idiomático do Rust.

A atitude cautelosa de Jarred

Em comentários HN anteriores, Sumner enfatizou: “Não nos comprometemos a reescrever. Há uma grande chance de todo esse código ser descartado completamente.” No entanto, a fusão com main sugere que o experimento excedeu as expectativas - ou que a estratégia mudou.

O que isso significa

Para usuários de pão

Curto prazo: nada muda. A porta Rust mantém a compatibilidade da API. Longo prazo: um pool de contribuidores maior, melhor integração com o ecossistema Rust (caixas como tokio, hyper, reqwest) e iteração potencialmente mais rápida.

Para Zig

Zig perde seu projeto principal. Mas a linguagem continua a evoluir – e a versão Bun pode atrair desenvolvedores que desejam trabalhar em um tempo de execução baseado em Rust.

Para migração de código AI

Este é um momento divisor de águas. Se um tempo de execução em nível de sistema de 960 mil linhas puder ser portado em 6 dias pela IA, a economia da reescrita de software mudará fundamentalmente. Manutenção, migração de legado e portabilidade de idiomas – historicamente caras e arriscadas – tornam-se tratáveis.

Reações da comunidade

Fonte Sentimento
Notícias sobre hackers Split – impressionado com a capacidade da IA, cético quanto à qualidade do código
Lobste.rs Crítico - discussão sobre “portação de vibração”, preocupações sobre ferrugem idiomática
Análise Stork.ai Análise estratégica da dinâmica Zig vs Rust
DevClass Relatórios neutros, notas do porto ainda estão “incompletas”
CosmicJS Relata compatibilidade de teste de 99,8%

Esperando ansiosamenteA reescrita do Bun Rust não foi concluída – 99,8% não é 100%, e os revisores sinalizaram áreas onde a tradução da IA ​​falhou. Mas o fato de esse experimento ter atingido main sinaliza um novo capítulo não apenas para Bun, mas também para a forma como pensamos sobre reescritas de software.

Como disse um comentarista do HN: “A velha questão era ‘devemos reescrever em Rust?’ A nova questão é ‘devemos deixar a IA reescrever isso em Rust para nós?’”

Referências

Share this page