Bun ha sido convertido a Rust. ¿Y ahora qué?
Objetivos y resultados percibidos del port a Rust
- Beneficio principal declarado: pasar de Zig a Rust manteniendo el comportamiento, con la mayoría de las pruebas todavía pasando.
- Algunos ven ganancias reales: compilación más simple, localización explícita del código
unsafe, potencial para un endurecimiento progresivo. - Otros creen que la reescritura es en gran medida performativa o una maniobra de marketing, especialmente dado el
unsafeque sigue existiendo y la implicación de un LLM. - Algunos señalan benchmarks neutros a mejores y binarios más pequeños como puntos de datos interesantes de Zig vs. Rust.
Uso de unsafe y seguridad de memoria
- La preocupación central: decenas de miles de bloques
unsafe, muchos generados por un LLM, socavan la promesa central de Rust de seguridad de memoria. - Quienes lo apoyan sostienen que el
unsafemarcado explícitamente ya es una mejora frente a Zig/C: obtienes una lista concreta de “cosas por arreglar”. - Los críticos responden que si incluso un bloque no es correcto, todo el programa puede exhibir comportamiento indefinido; con “gazillions” de bloques escritos por LLM, ese riesgo es alto.
- Comparaciones: se dice que la densidad de
unsafede Bun es aproximadamente el doble que la de Deno, aunque ambos deben envolver motores de JS en C/C++ inseguros.
“Vibe coding” impulsado por LLM y confianza
- Hay un fuerte desacuerdo sobre confiar en un runtime traducido en su mayor parte por un LLM:
- Algunos: la traducción con un buen conjunto de pruebas es uno de los mejores usos de un LLM.
- Otros: un runtime es infraestructura fundamental; publicar un millón de líneas de código de IA en gran medida no revisado es “flagrantemente irresponsable”.
- Debate sobre “vibecoding” como etiqueta: algunos creen que borra matices entre herramientas y proceso; otros la usan como abreviatura para un uso poco riguroso de la IA.
- Preocupaciones de que la fuerte dependencia de la IA erosione la capacidad de los desarrolladores para juzgar la calidad del código.
Pruebas, corrección y medición de seguridad
- Hay amplio acuerdo en que las altas tasas de aprobación de pruebas demuestran equivalencia de comportamiento, no seguridad de memoria.
- Algunos señalan que el propio conjunto de pruebas se ajustó durante el port, lo que hace que cifras exactas como “99.8%” sean algo poco claras.
- Se enfatiza que las pruebas no pueden cubrir todos los modos de fallo; siguen siendo esenciales la comprensión profunda y la revisión.
Proceso, Rust idiomático y trabajo futuro
- Muchos dudan de que un PR de un millón de líneas hecho en una semana pudiera haber sido revisado seriamente.
- Preocupa que el resultado sea Rust no idiomático con semánticas de memoria al estilo Zig, lo que dificulta el refactorizado a largo plazo.
- Algunos sostienen que el trabajo real ahora es una rearquitectura extensa y cuidadosa para eliminar
unsafe; otros sospechan que un diseño nuevo en Rust habría sido mejor que un port directo.