El autor de la plataforma Bun está realizando un experimento reescribiendo de Zig a Rust

Jarred Sumner, creador y desarrollador principal de la plataforma de JavaScript para servidores Bun, ha creado una rama en Git en la que ha comenzado a reescribir Bun de Zig a Rust. La reescritura se está realizando con la ayuda del asistente de IA Claude, para el cual se ha elaborado una guía específica para la portación. Según Jarred, por el momento esto es solo un experimento y no un puerto oficial, y hay una alta probabilidad de que no se avance más allá del experimento y que el código reescrito no se utilice.

La portación aún no se ha completado, y en esta etapa, todo el interés en el proyecto se centra en evaluar cuán funcional será el puerto, si pasará las pruebas del proyecto principal y cuán complicado será mantener el nuevo código. Finalmente, se planea realizar pruebas comparativas entre las versiones de Bun en Zig y Rust.

En diciembre del año pasado, el proyecto Bun fue adquirido por la empresa Anthropic, por lo que Jarred cuenta con recursos para involucrar modelos de IA avanzados como Claude en la portación. La plataforma Bun se aplica en productos como Claude Code y Claude Agent SDK, y la empresa Anthropic está interesada en mejorar su calidad y desarrollo. Bun es uno de los proyectos más exitosos en el lenguaje Zig, aunque los desarrolladores de Zig y Bun tienen opiniones divergentes sobre el uso de IA en el proceso de desarrollo. En el proyecto Zig se ha impuesto una estricta prohibición sobre el uso de grandes modelos de lenguaje para preparar pull requests, issues y comentarios (incluso se prohíbe la traducción a través de IA de comentarios no en inglés).

La introducción de tales restricciones se explica por los desarrolladores de Zig debido a la experiencia negativa con la revisión de pull requests creados mediante IA, que consumen recursos y tiempo (por ejemplo, se destacan cambios sin sentido, alucinaciones de IA y commits inflados de 10,000 líneas). Además, el proyecto Zig se posiciona como enfocado en los participantes y no en las contribuciones que ellos aportan al desarrollo; el objetivo principal de aceptar pull requests no es agregar nuevo código, sino ayudar en el desarrollo de nuevos participantes.

El autor de Bun no está de acuerdo con la prohibición de la IA en Zig y considera que el AI-sloop será un vestigio nostálgico de 2025 y 2026, mientras que el desarrollo de software de código abierto evolucionará hasta prohibir la aceptación de código de personas. Las personas discutirán problemas, establecerán tareas y prioridades, y la escritura de código y el envío de cambios a los repositorios se convertirá en un dominio de la IA. Como razón para los experimentos de reescritura en Rust, también se menciona el deseo de resolver problemas en Bun causados por fugas de memoria y la política inaceptable de Zig respecto a la aceptación de cambios que rompen la compatibilidad.

Debido a la prohibición del uso de IA, los desarrolladores de Bun se ven obligados a mantener su propio fork de la herramienta Zig, en el que gracias al uso de IA se ha logrado acelerar la compilación 4 veces mediante la paralelización del análisis semántico y la generación de código. Sin embargo, según el comentario de uno de los desarrolladores de Zig, la razón del rechazo de los parches no se debe a la IA, sino a que la paralelización del análisis semántico afecta no solo al compilador, sino también al propio lenguaje; para implementar la funcionalidad propuesta sin errores ni incompatibilidades, se requieren cambios en el lenguaje Zig. En lugar de la paralelización, los desarrolladores de Zig están desarrollando la compilación incremental, que, según su suposición, permitirá aumentar considerablemente la velocidad de compilación.

La plataforma JavaScript Bun se desarrolla como un análogo de alto rendimiento de las plataformas Node.js y Deno. El proyecto se desarrolla con el objetivo de garantizar la compatibilidad con aplicaciones de servidor para Node.js y admite la mayor parte de la API de Node.js. La plataforma incluye un conjunto de herramientas para crear y ejecutar aplicaciones en JavaScript y TypeScript, así como un runtime para ejecutar aplicaciones JavaScript sin navegador, un gestor de paquetes (compatible con NPM), herramientas para realizar pruebas, un sistema de construcción de paquetes autónomos y una capa para integrar controladores escritos en C. En términos de rendimiento, Bun supera notablemente a Deno y Node.js (en pruebas basadas en el marco React, la plataforma Bun supera a Deno por 2 veces y casi a Node.js por 5 veces). Para ejecutar JavaScript se utiliza el motor JavaScriptCore y componentes del proyecto WebKit con parches adicionales.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster