Джарред Самнер, создатель и основной разработчик высокопроизводительной JavaScript-платформы Bun, запустил экспериментальный проект по переводу кодовой базы с языка Zig на Rust. Для автоматизации процесса используется ИИ-ассистент Claude, для которого было создано специальное руководство по портированию. Сам автор подчеркивает, что это лишь исследовательский этап: текущая реализация не является официальным портом, и нет гарантий, что этот код когда-либо попадет в основной репозиторий проекта.
Текущий статус эксперимента
На данном этапе основная цель — оценить жизнеспособность переноса, проверить прохождение стандартного набора тестов и понять, насколько сложным будет дальнейшее сопровождение проекта на языке Rust. В планах разработчика стоит проведение глубокого сравнительного тестирования производительности текущей версии на Zig и новой на Rust.
После того как проект Bun был поглощен компанией Anthropic в декабре прошлого года, у команды появились дополнительные ресурсы для использования передовых ИИ-моделей. Платформа Bun сейчас активно внедряется в такие инструменты, как Claude Code и Claude Agent SDK, поэтому Anthropic крайне заинтересована в развитии этого решения.
Конфликт подходов: Bun против Zig
Ключевым стимулом для эксперимента стали разногласия между разработчиками Bun и создателями языка Zig по вопросу использования искусственного интеллекта. В экосистеме Zig установлен жесткий запрет на применение LLM при подготовке pull-запросов и написании комментариев. Разработчики Zig объясняют это негативным опытом: ИИ-контрибьюции часто содержат галлюцинации, бессмысленные изменения и «раздутые» коммиты на тысячи строк. Кроме того, идеология Zig предполагает, что процесс разработки должен быть ориентирован на обучение новых участников, а не просто на автоматизированное добавление кода.
Джарред Самнер придерживается радикально иного мнения. Он считает, что подобные запреты — лишь «ностальгический пережиток» прошлого. По его прогнозу, разработка ПО в будущем сместится в сторону модели, где люди занимаются постановкой задач и приоритизацией, а непосредственно написание кода станет задачей ИИ. Помимо идеологических разногласий, автор Bun отмечает и технические причины для перехода на Rust, среди которых — желание избавиться от утечек памяти и нежелание зависеть от политики Zig, допускающей внесение изменений, нарушающих обратную совместимость.
Технические споры и производительность
Из-за запрета на использование ИИ команда Bun была вынуждена поддерживать собственный форк инструментария Zig. В нем удалось добиться четырехкратного ускорения компиляции за счет распараллеливания семантического анализа. Однако разработчики основного проекта Zig отклонили этот патч, аргументируя это тем, что реализация распараллеливания требует внесения фундаментальных изменений в сам язык. Вместо этого команда Zig делает ставку на инкрементальную компиляцию, которая, по их расчетам, позволит достичь значительного прироста скорости без архитектурных рисков.
Напомним, что платформа Bun позиционируется как высокопроизводительный аналог Node.js и Deno с поддержкой большинства API Node.js. Благодаря использованию движка JavaScriptCore и глубокой оптимизации, Bun демонстрирует впечатляющие результаты: в тестах на базе React проект опережает Deno в 2 раза, а Node.js — почти в 5 раз.






