Bun reescribe 960K líneas de Zig a Rust en 6 días — la IA hizo el trabajo pesado
El 14 de mayo de 2026, Jarred Sumner, creador de Bun, fusionó el PR #30412 — una rama masiva de 6755 commits que reescribe el núcleo de Bun de Zig a Rust. La rama, claude/phase-a-p..., fue generada casi enteramente por agentes de IA de Anthropic Claude.
Las cifras son asombrosas:
| Métrica | Valor |
|---|---|
| Commits | 6,755 |
| Código traducido | ~960K líneas de Zig → Rust |
| Tiempo | 6 días |
| Compatibilidad de pruebas | 99.8% (Linux x64 glibc) |
| Rama fuente | claude/phase-a-p... |
Qué Sucedió Realmente
Bun fue escrito originalmente en Zig, un lenguaje de programación de sistemas diseñado por Andrew Kelley. Zig le dio a Bun su velocidad — pero también limitó el grupo de contribuyentes. Rust, en contraste, tiene un ecosistema masivo, herramientas maduras y una integración profunda con LLVM.
Tras la adquisición de Bun por Anthropic, el equipo experimentó usando agentes de Claude para traducir toda la base de código de Zig a Rust. El experimento duró 6 días en un clúster de nodos de alta memoria, produciendo 6755 commits.
El resultado: una base de código en Rust que pasa el 99.8% del conjunto de pruebas existente de Bun en Linux x64 glibc.
Migración Masiva Impulsada por IA
Esta es una de las primeras demostraciones a gran escala de migración de código fuente impulsada por IA. El enfoque:
- Análisis fuente: Claude analizó patrones de código Zig, modismos de gestión de memoria y la superficie de la API pública
- Traducción incremental: Cada archivo Zig se tradujo a Rust incrementalmente, preservando el comportamiento mediante pruebas basadas en propiedades
- Ejecución paralela: Múltiples instancias del agente Claude trabajaron en paralelo en toda la base de código
- Validación CI: Cada módulo traducido se validó contra el conjunto de pruebas existente de Bun
La Controversia
La fusión ha provocado un intenso debate en la comunidad de desarrolladores:
Comunidad Zig
Bun era el proyecto insignia de Zig — la implementación en producción más grande y visible del lenguaje. Loris Cro, miembro de la Fundación Zig, ha descrito previamente las contribuciones de LLM a Zig como “mayormente negativas”. La migración es vista por algunos como una traición al lenguaje que hizo posible Bun.
Críticas al “Vibe Porting”
En Lobste.rs, los desarrolladores acuñaron el término “vibe porting” — traducción impulsada por IA que funciona estadísticamente pero carece de comprensión profunda. Los críticos argumentan que el código Rust generado por IA sigue patrones superficiales y carece del estilo idiomático de Rust.
La Postura Cautelosa de Jarred
En comentarios anteriores en HN, Sumner enfatizó: “No nos hemos comprometido a reescribir. Hay una probabilidad muy alta de que todo este código sea desechado por completo.” Sin embargo, la fusión a main sugiere que el experimento superó las expectativas — o que la estrategia cambió.
Qué Significa Esto
Para Usuarios de Bun
A corto plazo: nada cambia. El puerto a Rust mantiene la compatibilidad de API. A largo plazo: un grupo de contribuyentes más grande, mejor integración con el ecosistema Rust (crates como tokio, hyper, reqwest), e iteración potencialmente más rápida.
Para Zig
Zig pierde su proyecto insignia. Pero el lenguaje continúa evolucionando — y el puerto de Bun puede atraer desarrolladores que quieran trabajar en un runtime basado en Rust.
Para la Migración de Código con IA
Este es un momento crucial. Si un runtime de sistemas de 960K líneas puede ser portado en 6 días por IA, la economía de las reescrituras de software cambia fundamentalmente. El mantenimiento, la migración de legado y el porting de lenguajes — históricamente caros y riesgosos — se vuelven abordables.
Reacciones de la Comunidad
| Fuente | Sentimiento |
|---|---|
| Hacker News | Dividido — impresionados por la capacidad de IA, escépticos sobre la calidad del código |
| Lobste.rs | Crítico — discusión sobre “vibe porting”, preocupaciones sobre Rust idiomático |
| Análisis de Stork.ai | Análisis estratégico de la dinámica Zig vs Rust |
| DevClass | Reportaje neutral, señala que el puerto sigue “half-baked” |
| CosmicJS | Reporta 99.8% de compatibilidad de pruebas |
Mirando Hacia Adelante
La reescritura de Bun en Rust no está terminada — 99.8% no es 100%, y los revisores han señalado áreas donde la traducción de IA fue deficiente. Pero el hecho de que este experimento haya llegado a main señala un nuevo capítulo no solo para Bun, sino para cómo pensamos sobre las reescrituras de software.
Como dijo un comentarista en HN: “La vieja pregunta era ‘¿deberíamos reescribirlo en Rust?’ La nueva pregunta es ‘¿deberíamos dejar que la IA lo reescriba en Rust por nosotros?’”