The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Автор платформы Bun проводит эксперимент по переписыванию с Zig на Rust

06.05.2026 11:54 (MSK)

Джарред Самнер (Jarred Sumner), создатель и основной разработчик серверной JavaScript-платформы Bun, создал Git-ветку, в которой приступил к переписыванию Bun с языка Zig на Rust. Переписывание ведётся с использование AI-ассистента Claude, для которого сформировано отдельное руководство по портированию. По словам Джарреда пока это лишь эксперимент, а не официальный порт, и высока вероятность, что дальше эксперимента дело не зайдёт и переписанный код не будет использован.

Портирование ещё не завершено, и на текущем этапе весь интерес к проекту сосредоточен на том, чтобы оценить насколько работоспособным получится порт, будет ли он проходить набор тестов основного проекта и сложно ли будет сопровождать новый код. В конечном счёте планируется провести сравнительное тестирование вариантов Bun на Zig и Rust.

В декабре прошлого года проект Bun поглотила компания Anthropic, поэтому у Джарреда есть ресурсы для вовлечения в портирование передовых AI-моделей Claude. Платформа Bun применяется в продуктах Claude Code и Claude Agent SDK, и компания Anthropic заинтересована в повышении её качества и развитии. Bun является одним из самых успешных проектов на языке Zig, при этом у разработчиков Zig и Bun расходятся мнения в отношении применения AI в процессе разработки. В проекте Zig утверждён жёсткий запрет применения больших языковых моделей при подготовке pull-запросов, issue и комментариев (запрещён даже перевод через AI неанглоязычных комментариев).

Введение подобных ограничений объясняется разработчиками Zig негативным опытом в рецензировании созданных через AI pull-запросов, которые отнимают ресурсы и время (например, отмечаются бессмысленные изменения, AI-галлюцинации и раздутые коммиты в 10 тысяч строк). Кроме того, проект Zig позиционирует себя как ориентированный на участников, а не вносимый ими вклад в разработку - главной целью принятия pull-запросов называется не добавление нового кода, а помощь в развитии новых участников.

Автор Bun не согласен с запретом AI в Zig и полагает, что AI-слоп останется ностальгическим пережитком 2025 и 2026 годов, а разработка открытого ПО эволюционирует до запрета приёма кода от людей. Люди будут обсуждать проблемы, ставить задачи и расставлять приоритеты, а написание кода и отправка изменений в репозитории станет уделом AI. В качестве причины экспериментов с переписыванием на Rust также отмечается желание устранить проблемы в Bun, вызванные утечками памяти, и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость.

Из-за запрета применения AI разработчики Bun вынуждены поддерживать собственный форк инструментария Zig, в котором благодаря применению AI удалось в 4 раза ускорить компиляцию за счёт распараллеливания семантического анализа и генерации кода. При этом судя по комментарию одного из разработчиков Zig причина отклонения патчей не в AI, а в том, что распараллеливание семантического анализа затрагивает не только компилятор, но и сам язык - чтобы реализовать предложенную функциональность без ошибок и несовместимостей, требуется внесение изменений в язык Zig. Вместо распараллеливания, разработчики Zig развивают инкрементальную компиляцию, которая по их предположению позволит на порядок повысить скорость компиляции.

JavaScript-платформа Bun развивается как высокопроизводительный аналог платформ Node.js и Deno. Проект разрабатывается с оглядкой на обеспечение совместимости с серверными приложениями для Node.js и поддерживает большую часть API Node.js. В состав платформы входит набор инструментов для создания и выполнения приложений на языках JavaScript и TypeScript, а также runtime для выполнения JavaScript-приложений без браузера, пакетный менеджер (совместимый с NPM), инструментарий для выполнения тестов, система сборки самодостаточных пакетов и прослойка для встраивания обработчиков, написанных на языке Си. По производительности Bun заметно обгоняет Deno и Node.js (в тестах на базе фреймворка React платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js). Для выполнения JavaScript задействован JavaScript-движок JavaScriptCore и компоненты проекта WebKit с дополнительными патчами.



  1. Главная ссылка к новости (https://www.theregister.com/20...)
  2. OpenNews: Доступна серверная JavaScript-платформа Bun 1.0, более быстрая, чем Deno и Node.js
  3. OpenNews: JavaScript-платформа Bun перешла в руки компании Anthropic
  4. OpenNews: Компоненты браузера Ladybird начали переписывать на Rust при помощи AI
  5. OpenNews: Переписывание кода при помощи AI для перелицензирования открытых проектов
  6. OpenNews: В JavaScript-платформе Bun добавлена поддержка вызова кода на языке Си
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65379-bun
Ключевые слова: bun, rust, zig
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (20) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Джон Титор (ok), 12:09, 06/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Я предполагаю что он хочет посмотреть быстродействие и сравнить. Rust же рекламируют как язык программирования с высокой скоростью исполнения кода. Интересно что он скажет в результате - что откроет?
     
     
  • 2.3, Аноним (3), 12:16, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Вроде раст рекламируют как нечто среднее между питоном и додиез, все эти проверки в рантайме то не бесплатны. Чувак просто хочет хайпануть. Зиг слишком эзотерический и раст чуть менее эзотерический.
     
     
  • 3.5, Аноним (3), 12:21, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    К слову, нейронки с эзотерическими языками довольно посредственно работает. Так что не совсем понятен смысл это вообще обсуждать.
     
  • 3.6, Аноним (6), 12:22, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Вроде раст рекламируют как нечто среднее между питоном и додиез,

    И вы сможете предоставить пруфы?
    Или это просто прдеж у лужу?

    > все эти проверки в рантайме то не бесплатны.

    Какие именно проверки в рантайме?
    ЕМНИП в рекламе раста как раз рекламировали "compile time checks", всяких боровов и компилятор с плеткой.

    > Зиг слишком эзотерический

    Да, и весьма сырой.

    > и раст чуть менее эзотерический.

    Настолько менее, что добавлен в ядро вторым языком, используется кучей серьезных компаний типа клоудфлари, мелкомягкими и амазоном..
    И да, в каждом новом андроиде есть миллионы строк раст кода.

    Я бы сказал что это мейнстримный язык, что думаете? ;)

     
     
  • 4.7, Аноним (3), 12:27, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Корпорации вроде Майкрософт заинтересованы в неэффективном коде на раст, который позволит выкинуть программистов на мороз. Чистая экономия. Оттуда же и в ядре он. А проверки в рантайме никуда не деваются, и естественно они не бесплатны. Поэтому и конкуренция с виртуальными машинами.
     
     
  • 5.10, Аноним (6), 12:33, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Корпорации вроде Майкрософт

    получает кучу бабла продавая облачные сервисы типа азура

    > заинтересованы в неэффективном коде на раст,

    наоборот, заинтересованы в языке, который будет пограммисту другом и товарищем готовым подставить борова в трудную минуту и дать совет

    > который позволит выкинуть программистов на мороз. Чистая экономия.

    Чистая чушь.
    Они просто поняли что дырявые языки уперлись в максимум человеческого разума и сложность проектов.
    Как диды в первом юникс-v4 наовнячили, так потомки продолжают.

    > А проверки в рантайме никуда не деваются, и естественно они не бесплатны. Поэтому и конкуренция с виртуальными машинами.

    Еще раз спрошу, какие именно проверки.
    Если для качественного кода придется делать одинаковую проверку в СИшке и в расте, то ассемблерное представление будет схожим, а возможно даже одинаковым.
    Если вы намекаете, что на СИшке можно не добавлять рантайм проверки типа "и так сойдет" - то потом получаем ворох багов и CVE.


     
     
  • 6.12, Аноним (12), 12:35, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Проверки границ массивов например
     
     
  • 7.15, Аноним (6), 12:46, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Проверки границ массивов например

    Ок, предположим, что в расте они обязательные, постоянные и неотвратимые как налоги.
    (хотя если бы в почитали про слайсы, то узнали бы много нового)

    А в СИ они нужны?
    Что будет если не проверять границы массивов?
    Что случится если программы выйдет за эти границы?

    По какой-то причине в плюсы добавили .at() (СИшка как обычно отстает в "инновациях").

    В компиляторы добавили -Warray-bounds (как раз на этапе компиляции), и -fsanitize=bounds (для рантайма).

    Зачем если и так все хорошо работало?

    ps вы так и не привели пруфов того, что релизный расткод существенно медленнее чем код на альтернативных языках.

     
  • 5.14, pepe_watafa (?), 12:39, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "А проверки в рантайме никуда не деваются ..."
    Давайте, предметнее, о каких конкретно проверках в рантайме вы ведёте речь?
     
  • 2.8, Аноним (12), 12:27, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Отладочный код чудовищно медленный, об этом даже в документации bevy сказано, в то время как C++ разрабы  даже stl переписывают, так как он недостаточно быстрый в отладочном режиме (EASTL), в расте вот такое вот творится. Тестил демки bevy, там 70 фпс в сцене с кубом было
     
     
  • 3.9, Аноним (12), 12:31, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://github.com/bevyengine/bevy-website/blob/9d28acced9a21ef6fa211ff21088b0
     
  • 3.11, НяшМяш (ok), 12:34, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Отладочный код чудовищно медленный

    Отладочный код нужен для отладки. То есть такой, который в асме выглядит ровно так как и написал разработчик. Это в крестах пофигу как там UB выглядят. Но если очень надо и в гугле забанили, то можно компилировать зависимости с оптимизациями. Про это даже в документации раста сказано.

    [profile.dev.package."*"]
    debug = false
    opt-level = 3

     
     
  • 4.13, Аноним (12), 12:36, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В отладочном коде надо полноценно работать и отлаживать, а эти "оптимизации" как раз проверки выкидывают, добро пожаловать в безопасный раст
     

  • 1.4, Анонимус11 (?), 12:18, 06/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость

    Интересно, а что ждали от языка, у которого еще не было стейбл-релиза? В этом и суть нулевой мажорной версии

     
     
  • 2.17, Аноним (17), 12:51, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ждали скорости!
     

  • 1.16, Аноним (17), 12:48, 06/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Но зачем ведь для этого уже есть Дино?
     
     
  • 2.20, Аноним (20), 13:06, 06/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Но зачем ведь для этого уже есть Дино?

    Пока программисты  ̶В̶и̶л̶л̶а̶р̶и̶б̶а̶ Bun героически борются с "политикой Zig в отношении принятия в язык изменений, нарушающих совместимость", программисты В̶и̶л̶л̶а̶б̶а̶д̶ж̶о̶ Deno уже написали запланированный код и пошли отдыхать

     

  • 1.18, Аноним (18), 13:02, 06/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жостцкие пацаны в Zig. Это хорошо.
     
  • 1.19, Аноним (19), 13:04, 06/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сразу видно, что ИИ и Rust - это раковая опухоль, которая стремится всё пожрать.
     
  • 1.21, Абырвалг (?), 13:20, 06/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру