Bun réécrit 960 000 lignes de Zig en Rust en 6 jours — l'IA a fait le gros du travail
Le 14 mai 2026, Jarred Sumner, créateur de Bun, a fusionné la PR #30412 — une branche monumentale de 6755 commits qui réécrit le cœur de Bun de Zig à Rust. La branche, claude/phase-a-p..., a été générée presque entièrement par des agents IA Claude d’Anthropic.
Les chiffres sont stupéfiants :
| Métrique | Valeur |
|---|---|
| Commits | 6 755 |
| Code traduit | ~960 000 lignes Zig → Rust |
| Durée | 6 jours |
| Compatibilité des tests | 99,8 % (Linux x64 glibc) |
| Branche source | claude/phase-a-p... |
Ce Qu’il S’est Passé
Bun a été initialement écrit en Zig, un langage de programmation système conçu par Andrew Kelley. Zig a donné à Bun sa vitesse — mais a également limité le bassin de contributeurs. Rust, en revanche, dispose d’un écosystème massif, d’outils matures et d’une intégration profonde avec LLVM.
Après l’acquisition de Bun par Anthropic, l’équipe a expérimenté l’utilisation d’agents Claude pour traduire l’ensemble du codebase Zig en Rust. L’expérience a duré 6 jours sur un cluster de nœuds à haute mémoire, produisant 6755 commits.
Le résultat : un codebase Rust qui réussit 99,8 % de la suite de tests existante de Bun sur Linux x64 glibc.
Migration à Grande Échelle par l’IA
C’est l’une des premières démonstrations à grande échelle de migration de codebase pilotée par l’IA. L’approche :
- Analyse source : Claude a analysé les patterns de code Zig, les idiomes de gestion mémoire et la surface d’API publique
- Traduction incrémentale : Chaque fichier Zig a été traduit en Rust de manière incrémentale, préservant le comportement via des tests basés sur les propriétés
- Exécution parallèle : Plusieurs instances d’agents Claude ont travaillé en parallèle sur l’ensemble du codebase
- Validation CI : Chaque module traduit a été validé contre la suite de tests existante de Bun
La Controverse
La fusion a suscité un débat intense dans la communauté des développeurs :
Communauté Zig
Bun était le projet phare de Zig — le déploiement en production le plus vaste et le plus visible du langage. Loris Cro, membre de la Zig Software Foundation, a précédemment décrit les contributions des LLM à Zig comme « majoritairement négatives ». La migration est perçue par certains comme une trahison du langage qui a rendu Bun possible.
Critiques du « Vibe Porting »
Sur Lobste.rs, les développeurs ont inventé le terme « vibe porting » — une traduction pilotée par l’IA qui fonctionne statistiquement mais manque de compréhension profonde. Les critiques soutiennent que le code Rust généré par l’IA suit des patterns superficiels et manque de la manière idiomatique de Rust.
La Position Prudente de Jarred
Dans des commentaires précédents sur HN, Sumner avait souligné : “Nous ne nous sommes pas engagés à réécrire. Il y a une très forte probabilité que tout ce code soit complètement jeté.” Pourtant, la fusion dans main suggère que l’expérience a dépassé les attentes — ou que la stratégie a changé.
Ce Que Cela Signifie
Pour les Utilisateurs de Bun
À court terme : rien ne change. Le portage Rust maintient la compatibilité API. À long terme : un plus grand bassin de contributeurs, une meilleure intégration avec l’écosystème Rust (crates comme tokio, hyper, reqwest), et une itération potentiellement plus rapide.
Pour Zig
Zig perd son projet phare. Mais le langage continue d’évoluer — et le portage de Bun pourrait attirer des développeurs souhaitant travailler sur un runtime basé sur Rust.
Pour la Migration de Code par l’IA
C’est un moment charnière. Si un runtime système de 960 000 lignes peut être porté en 6 jours par l’IA, l’économie des réécritures logicielles change fondamentalement. La maintenance, la migration de code legacy et le portage de langage — historiquement coûteux et risqués — deviennent réalisables.
Réactions de la Communauté
| Source | Sentiment |
|---|---|
| Hacker News | Partagé — impressionnés par la capacité de l’IA, sceptiques sur la qualité du code |
| Lobste.rs | Critique — discussion sur le « vibe porting », préoccupations sur le Rust idiomatique |
| Analyse Stork.ai | Analyse stratégique de la dynamique Zig vs Rust |
| DevClass | Reportage neutre, note que le portage est encore « half-baked » |
| CosmicJS | Rapporte 99,8 % de compatibilité des tests |
Perspectives
La réécriture de Bun en Rust n’est pas terminée — 99,8 % n’est pas 100 %, et les réviseurs ont signalé des domaines où la traduction par l’IA était insuffisante. Mais le fait que cette expérience ait atteint main signale un nouveau chapitre, non seulement pour Bun, mais pour notre façon de concevoir les réécritures logicielles.
Comme l’a dit un commentateur sur HN : “L’ancienne question était ‘devrions-nous le réécrire en Rust ?’ La nouvelle question est ‘devrions-nous laisser l’IA le réécrire en Rust pour nous ?’”