Эксперимент по переписыванию проекта Bun с Zig на Rust при помощи ИИ-ассистента Claude Code признали успешным
Разработчик Джарред Самнер (создатель и мейнтейнер серверной JavaScript‑платформы Bun) сообщил о признании успешным недавно начатого эксперимента по переписыванию проекта Bun с языка Zig на Rust при помощи ИИ‑ассистента Claude Code. В команде проекта приняли решение о переводе Bun на язык Rust. Переписанный вариант решения на языке Rust принят в основной репозиторий проекта, а код на языке Zig подготовлен к удалению.
В команде Bun объявили о найме сотрудников для поддержки кода проекта, имеющих более 5 лет опыта разработки на языках C/C++ и Rust.
В качестве причины переписывания на Rust в команде проекта отмечали желание устранить проблемы в Bun, вызванные утечками памяти, наличие разногласий с авторами Zig в плане применения ИИ для написания кода (в Zig работает одна из самых строгих политик против ИИ) и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость.
По информации OpenNET, на Rust реализован прямой порт Bun с языка Zig, который включает множество блоков unsafe кода, использует ту же архитектуру, те же структуры данных и прежние внешние библиотеки. Отмечается, что порт на Rust успешно прошёл проверку существующим тестовым набором на всех платформах. Попутно было устранено несколько утечек памяти и сбоев в тестах.
После сборки версии Bun на Rust исполняемый файл проекта получился на 3–8 МБ меньше, чем при сборке версии на Zig. В тестах производительности версия на Rust оказалась либо быстрее, либо на том же уровне.
По заверению Самнера, самым важным преимуществом варианта Bun на Rust стала возможность отлавливания и предотвращения ошибок при работе с памятью, диагностика которых последние годы отнимала у разработчиков Bun очень много времени.
Bun — это
Читать на habr.com
