Ces derniers jours, le monde de la technologie est en émoi : Andrew Kelley, le créateur du langage de programmation Zig, est furieux.

La raison ? Bun, qui avait initialement tout misé sur Zig, a été réécrit en Rust par son fondateur, Jarred Sumner.

Andrew Kelley n'a pas caché sa colère. Il n'a pas tenu de discours diplomatique sur cet événement technologique phénoménal, mais a directement ciblé les habitudes de travail personnelles de Jarred Sumner, ses capacités de gestion et la logique commerciale derrière cet événement.
Bun est un runtime JavaScript/TypeScript haute performance, conçu pour être un remplacement direct, plus rapide et moderne de Node.js. Ces dernières années, il est devenu un challenger de poids pour contester l'hégémonie de Node.js dans le monde du front-end.
L'argument principal de Bun est sa rapidité extrême : que ce soit le temps de démarrage, l'installation des dépendances ou l'exécution des tests, il surpasse largement ses concurrents, en partie grâce au fait qu'il était écrit en Zig.
En décembre dernier, Anthropic a annoncé l'acquisition de Bun, l'utilisant comme infrastructure pour alimenter ses outils de programmation IA Claude Code et le SDK Claude Agent. Jarred Sumner et les autres membres de l'équipe Bun travaillent désormais chez Anthropic.
Avec une utilisation à grande échelle, notamment comme couche sous-jacente de Claude Code, l'équipe de Bun a rencontré des problèmes de stabilité difficiles à éradiquer.
Plus précisément, la version Zig de Bun présentait de nombreux bugs de sécurité mémoire : use-after-free, double-free, oubli de libération de la mémoire dans les chemins d'erreur, etc. Ces problèmes, en Zig, ne peuvent être contraints que par des conventions de codage, tandis qu'en Rust, grâce au vérificateur d'emprunt (borrow checker) et au mécanisme Drop, ils deviennent directement des erreurs de compilation.
D'autre part, la communauté en amont de Zig a adopté une politique de tolérance zéro envers le code généré par les grands modèles de langage (LLM). Même des modifications d'optimisation sans rapport avec l'IA ne peuvent pas être intégrées en amont. L'équipe de Bun dépend fortement de l'assistance de l'IA pour le développement, et continuer à utiliser Zig signifierait devoir maintenir leur propre branche du compilateur à long terme, ce qui est très coûteux.
C'est ainsi qu'en mai dernier, nous avons été témoins d'un grand chantier dans le monde de la tech : le fondateur de Bun, Jarred Sumner, a annoncé avoir réécrit, en seulement 11 jours, le million de lignes de code de Bun en Rust. Ils ont utilisé Claude Fable 5 (modèle de niveau Mythos) d'Anthropic, qui n'était pas encore publiquement disponible à l'époque, ainsi que les capacités de flux de travail dynamique de Claude Code.

C'était un test épique de flux de travail agentique (Agentic Workflow), qui a ensuite été utilisé par Anthropic comme cas d'étude phare pour ses Dynamic Workflows, mais qui a également suscité des controverses en raison d'une « trahison de conviction ».
Dans un article de blog récent, Andrew Kelley, le créateur de Zig, a souligné que la raison fondamentale de la prolifération des bugs dans Bun avant la réécriture était les mauvaises habitudes d'ingénierie de Jarred Sumner.
Tout d'abord, bien avant l'essor de l'IA, Jarred écrivait déjà du code de mauvaise qualité. Kelley a déclaré que l'équipe Zig examinait souvent les dépôts de code des utilisateurs, et que celui de Bun les remplissait d'« une peur extrême ». Il était rempli de rustines sur des rustines (« hacks on top of hacks »), d'abus d'assertions, et, pour mettre rapidement en ligne de nouvelles fonctionnalités, il ne prenait presque jamais le temps d'éliminer les bugs et la dette technique.
Et puis, il y a le million de lignes de code généré par Claude. Kelley se demande : « Bun affirme officiellement qu'un million de lignes de code Rust non révisées manuellement (écrites par l'IA) sont sûres car il y a des tests unitaires ; mais si ces tests étaient vraiment aussi complets, pourquoi n'ont-ils pas attrapé ces bugs pénibles quand le code était écrit en Zig ? »
Aujourd'hui, Kelley est extrêmement déçu de voir Jarred passer d'un développeur open source plein de l'énergie du débutant (« beginner energy ») à un mauvais manager (« stinky manager »).
Kelley a déclaré sans détour qu'en apprenant la décision de Bun d'abandonner Zig, il n'était pas tant en colère qu'il était soulagé. Il avait peur que Bun, arborant le nom de Zig, induise le public en erreur, et encore plus qu'il attire une foule d'utilisateurs ne sachant que copier-coller du code d'IA. Il a même ajouté, non sans ironie, qu'il sirotait tranquillement une tasse de thé, content que « ce ne soit enfin plus mon problème ».
Des propos aussi francs ont conduit d'autres personnes du milieu technologique à rejoindre la mêlée et à donner leur avis.
Tout d'abord, une question de coût : on dit souvent que les tokens de Claude sont trop chers, mais selon les données publiées par Jarred Sumner et Bun, le projet de réécriture de Bun en Rust aurait consommé environ 165 000 dollars de frais d'API. Pour le milieu de la tech et de l'ingénierie, ce prix et ce temps sont terrifiants de bon marché.
Rien que sur le papier, l'IA a réduit le coût de développement à environ un dixième du coût initial, et le temps d'environ un an à moins de deux semaines.

Ensuite, il y a l'attitude face à la collision entre la culture des communautés open source et l'ère de l'IA. Certains, après avoir lu l'article de blog d'Andrew (Zig), ont ressenti un profond malaise, estimant qu'attaquer publiquement un ancien utilisateur et sponsor important (Bun a longtemps financé Zig) manquait de professionnalisme. Certains sont même allés jusqu'à dire « n'avoir jamais autant souhaité l'échec d'un langage de programmation ».
Mais des programmeurs de la vieille école sont également venus à la rescousse, estimant qu'à une époque embourbée dans la bulle du capital et de l'IA, Andrew défendait simplement la pureté de la qualité d'ingénierie, faisant preuve de l'attitude qui fut autrefois celle de Linus Torvalds.

Bien sûr, ce qui préoccupe davantage les gens, c'est de savoir si le projet, après un tel bouleversement, reste utilisable.
Actuellement, le point le plus controversé est que, ce million de lignes de code ayant été traduit mécaniquement du Zig par l'IA, il manque une refonte architecturale par des ingénieurs humains. Le nouveau dépôt de code contient encore 27 000 lignes de blocs de code « unsafe ». Beaucoup craignent que le coût cognitif et le temps de débogage que les développeurs humains devront consacrer à la maintenance, la lecture et la modification de cette masse de « production IA » ne finissent par dépasser les économies de développement réalisées aujourd'hui.
Ce projet, qui brise les règles habituelles du génie logiciel, finira-t-il par être une étape marquante où l'IA change les paradigmes de programmation, ou deviendra-t-il à l'avenir un volcan de dette technique impossible à maintenir ? Seul le temps pourra le dire.
Contenu de référence :
https://bun.com/blog/bun-in-rust
https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html
Cet article provient du compte WeChat public « Machine Heart » (ID : almosthuman2014), auteur : Suivi de l'IA






