needhelp
← Volver al blog

Bun reescribe 960K líneas de Zig a Rust en 6 días — la IA hizo el trabajo pesado

por needhelp
bun
rust
zig
ai-codegen
javascript-runtime

Reescritura de Bun de Zig a Rust

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étricaValor
Commits6,755
Código traducido~960K líneas de Zig → Rust
Tiempo6 días
Compatibilidad de pruebas99.8% (Linux x64 glibc)
Rama fuenteclaude/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:

  1. Análisis fuente: Claude analizó patrones de código Zig, modismos de gestión de memoria y la superficie de la API pública
  2. Traducción incremental: Cada archivo Zig se tradujo a Rust incrementalmente, preservando el comportamiento mediante pruebas basadas en propiedades
  3. Ejecución paralela: Múltiples instancias del agente Claude trabajaron en paralelo en toda la base de código
  4. Validación CI: Cada módulo traducido se validó contra el conjunto de pruebas existente de Bun

Pipeline de migración IA

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

FuenteSentimiento
Hacker NewsDividido — impresionados por la capacidad de IA, escépticos sobre la calidad del código
Lobste.rsCrítico — discusión sobre “vibe porting”, preocupaciones sobre Rust idiomático
Análisis de Stork.aiAnálisis estratégico de la dinámica Zig vs Rust
DevClassReportaje neutral, señala que el puerto sigue “half-baked”
CosmicJSReporta 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?’”

Referencias

Compartir esta página