O Grande Experimento do Bun

O Bun está fazendo um experimento que pode mudar como a gente enxerga o ecossistema de runtimes JavaScript. A notícia é que Jarred Sumner abriu um branch com quase um milhão de linhas de Rust geradas por IA, explorando uma migração do Zig para o Rust. A reação da indústria foi imediata, como se o veredito sobre programação de sistemas já tivesse sido dado.

Mas vamos com calma. Isso ainda é tratado como um experimento. A equipe não está declarando vitória para o Rust nem admitindo derrota para o Zig. Eles estão testando uma hipótese: será que um projeto dessa escala, mantido em um fluxo de trabalho pesado em IA, se beneficia mais da segurança aplicada pelo compilador do Rust do que do controle manual explícito do Zig?

Mesmo como experimento, essa migração é um golpe para a comunidade Zig. Jarred Sumner não era apenas um desenvolvedor. Ele era o principal motor de marketing do Zig. Foi ele quem fez a promessa do gerenciamento manual de memória parecer o futuro da infraestrutura de alto desempenho. Ver ele se mover em direção ao Rust, mesmo que experimentalmente, sinaliza a perda do mais visível defensor do Zig.

Alguns apontam o Deno como contra-exemplo, já que ele é um runtime de JavaScript escrito em Rust. Mas a comparação é preguiçosa. O perfil de desempenho do Deno não é resultado do Rust, assim como o desempenho do Bun não é resultado do Zig. Ambos são produtos de foco arquitetural e obsessão por otimização. A migração do Bun é uma tentativa de transpor essa mágica arquitetural de uma linguagem para outra, para ver se os benefícios de segurança do Rust podem existir sem as sobrecargas de runtime que normalmente definem o ecossistema Rust.

A comunidade reagiu de forma polarizada. Alguns veem como consequência inevitável de escalar um projeto sob uma empresa bilionária, como observou Martin Musiol:

Outros estão mais intrigados com a implementação técnica. A decisão da equipe de adotar restrições rígidas (sem tokio, sem funções assíncronas, sem biblioteca de E/S padrão) sugere um desejo pelo sistema de tipos do Rust sem as convenções comuns. Como observou zouyee:

Esse experimento expõe um choque entre duas filosofias. O Zig assume que você é o especialista e te dá controle total sobre a memória. O Rust assume que você é capaz de cometer erros e fornece ferramentas para te impedir antes que chegue em produção. Para uma equipe pequena de especialistas, o Zig é estimulante. Para uma organização maior apoiada pela Anthropic, onde parte significativa do código é escrita por IA, a filosofia muda. A IA não se importa em ser especialista. Ela se importa em não causar um vazamento de memória que o compilador deveria ter detectado.

Zed A. Shaw levantou uma questão crítica sobre a viabilidade prática dessa transição:

Se a migração for bem-sucedida, pode relegar o Zig a um nicho de infraestrutura especializada onde o controle manual é inegociável. Se falhar, vai provar que a arquitetura do Bun está tão acoplada ao compilador Zig que não pode ser mapeada para outra linguagem.

No fim, estamos observando um teste público de alto risco. Se falhar, é uma vitória para a comunidade Zig, provando que sua abordagem oferece algo que o Rust não consegue replicar. Se der certo, é um ponto de virada sobre como vemos o ciclo de vida do software de sistemas. Por enquanto, a grama não é mais verde do outro lado. O Bun ainda está no meio do campo, tentando descobrir se consegue crescer lá.