Bun troca Zig por Rust em reescrita ousada e acelerada por IA

Bun troca Zig por Rust em reescrita ousada e acelerada por IA

A equipe por trás do Bun, runtime JavaScript que ganhou notoriedade como alternativa de alto desempenho ao Node.js, promoveu uma das mudanças mais rápidas e ambiciosas já vistas em um projeto desse porte. Em questão de dias, uma reescrita praticamente completa do código-base, migrando de Zig para Rust, foi integrada ao repositório principal, com mais de um milhão de linhas adicionadas em um único commit.

A ação ocorre sob a liderança de Jarred Sumner e dentro do contexto da aquisição do projeto pela Anthropic, sinalizando não apenas uma mudança tecnológica, mas também metodológica. A versão 1.3.14, lançada pouco antes da fusão do novo código, marca o fim da era Zig no Bun.

Da experimentação à produção

O que inicialmente parecia um experimento rapidamente ganhou contornos definitivos. Dias antes da fusão, Sumner já indicava que a reescrita em Rust passava em praticamente toda a suíte de testes existente, sugerindo maturidade suficiente para uso real.

Segundo o desenvolvedor, o novo código mantém a mesma arquitetura e estruturas de dados da versão original, com ganhos pontuais importantes. Entre eles, a redução no tamanho do binário e a correção de vazamentos de memória que vinham afetando usuários em produção.

Mais relevante, porém, é o impacto do sistema de tipos e das garantias de segurança do Rust. Erros clássicos de gerenciamento de memória, como use-after-free e double-free, deixam de ser problemas em tempo de execução e passam a ser barrados na compilação. Para um runtime JavaScript, onde interações complexas com a memória são frequentes, essa mudança tem peso significativo.

Código gerado por IA no centro do processo

Se a troca de linguagem já seria um evento marcante por si só, o que realmente diferencia esse caso é a forma como ela foi conduzida. O próprio Sumner afirmou que a equipe não escreve o código manualmente há meses, delegando grande parte do trabalho a ferramentas baseadas em IA, como o Claude.

Ou seja, a reescrita não foi um esforço humano tradicional, mas um processo amplamente automatizado. O código em Rust seria, segundo o criador, essencialmente uma transposição direta do código existente em Zig, realizada com auxílio de modelos de linguagem.

Essa abordagem permite uma velocidade de produção incomum, mas levanta questionamentos importantes sobre confiabilidade e manutenção. A fusão de um milhão de linhas de código em um único pull request representa um desafio evidente: como revisar algo dessa magnitude algum rigor? 

Além disso, uma segunda proposta de alteração, que removia cerca de 600 mil linhas de código em Zig, chegou a ser automaticamente sinalizada pelo GitHub como possível “conteúdo gerado por IA de baixa qualidade”, evidenciando o grau de automação envolvido.

Embora o uso de IA em desenvolvimento não seja novidade, o caso do Bun leva essa prática a um novo patamar, onde não apenas partes, mas praticamente todo o código passa a ser mediado por sistemas automatizados.

O fator Zig e o choque de filosofias

Outro elemento relevante nessa transição é o afastamento da comunidade Zig. A linguagem, conhecida por sua abordagem minimalista e controle explícito, mantém uma postura crítica em relação ao uso de código gerado por IA.

Nos últimos ciclos de desenvolvimento, o Bun já utilizava uma versão modificada do Zig, com alterações que não eram aceitas upstream. Esse desalinhamento filosófico contribuiu para a decisão de migração.

O Rust, por outro lado, oferece um ecossistema mais alinhado com ferramentas modernas e práticas automatizadas, além de um sistema de segurança de memória mais robusto, que reduz a dependência de revisões manuais para certos tipos de erro.

A migração do Bun coloca em evidência um dilema crescente na engenharia de software: até que ponto é possível acelerar o desenvolvimento com IA sem comprometer a qualidade?

Os primeiros testes indicam que o desempenho do runtime permanece estável ou até superior em alguns cenários. Para defensores da IA, o caso representa um avanço impressionante na capacidade de transformação de código em larga escala. Para críticos, é um experimento arriscado que pode introduzir problemas difíceis de rastrear.

Este não é o primeiro projeto gigantesco de desenvolvimento por IA conduzido pela Anthropic. Confira o feito que desafiou o domínio da Vercel.