Bun — JavaScript-рантайм, который автор материала использует с момента первого релиза в 2022 году, полностью перейдя с Node на Bun в разработке фреймворка Nue и нового проекта Hertta.

Последние три месяца выдались для проекта непростыми. То, что начиналось как одна из самых впечатляющих инженерных работ одиночного разработчика, превратилось в странное создание на базе ИИ с чередой несбывшихся обещаний и всё более раздражённым сообществом.

В следующей версии Bun

Фраза в следующей версии Bun раньше была позитивным сигналом в твиттере — годами она означала, что фича реализована, протестирована и выйдет через несколько дней. После перехода на Rust ситуация изменилась: теперь подобные посты стали ложными обещаниями о предстоящем релизе.

24 июня: Bun v1.4 выходит 7 июля.

4 июля: Bun v1.4, надеюсь, во вторник

7 июля: (дата проходит)

14 июля: В следующей версии Bun

20 июля: В следующей версии Bun

29 июля: Bun v1.4 исправляет более 3000 проблем по сравнению с v1.3

1 августа: В следующей версии Bun

4 августа: В следующей версии Bun

7 августа: Осталось влить 1 PR, и настанет время Bun v1.4

13 августа: Bun v1.4 компилируется.

15 августа: Bun v1.4 откладывается до понедельника

17 августа: Скажем так, завтра

С момента последнего стабильного релиза прошло уже три месяца — это самый долгий перерыв в истории проекта с 2022 года. Само по себе задержки в разработке ПО — вещь нормальная. Проблема в другом: аккаунт, который раньше сообщал реальные даты и цифры, перешёл на расплывчатые формулировки. Реакция пользователей после череды несбывшихся обещаний вполне предсказуема:

@jarredsumner ладно, я редактирую пост в блоге, почти готово, если назову дату — вы всё равно не поверите, но скажем так, завтра

Мы полностью в тебя верим, Джарред

Радуйтесь, ребята, «завтра» по часовому поясу Джарреда означает, что новый пост в блоге появится на следующей неделе.

Вам, наверное, всё равно, но лично я теперь перехожу на Go. Это уже даже не смешно, вы просто снова и снова водите пользователей за нос.

Как вам верить? Вы постоянно даёте обещания, которые не можете сдержать: завтра, на следующей неделе, в понедельник...

Если релиз нужен через 2 месяца — так и скажите, вместо того чтобы каждую неделю обещать «выпустить завтра»

Bun на GitHub

Переход Bun 1.4 на Rust — это крупная ставка на ИИ. За последний месяц 15,8 тысячи коммитов пришли от robobun, 1,6 тысячи — от autofix-ci[bot], и лишь 790 — от Джарреда.

Статистика вклада контрибьюторов в Bun
6 месяцев назад большинство PR в Bun приходили от людей, которые давали задания Claude. Сегодня большинство PR в Bun приходят от Claude, дающего задания Claude.

В проекте накопилось более 5 тысяч открытых pull request'ов — такого количества автор материала ещё не видел ни в одном репозитории. Для сравнения, у OpenClaw их 2,2 тысячи, а у React — 441. GitHub рекомендует держаться в пределах 1000 открытых PR на одну ветку, иначе проверки на возможность слияния начинают зависать по таймауту.

Главное беспокойство вызывает, разумеется, сам код. В начале работа Джарреда воспринималась как источник вдохновения — казалось, что перед нами настоящий талант в Zig, пока не появились размышления создателя Zig Эндрю Келли о переписывании Bun:

Нас всё больше ужасали практики программирования, которые мы видели в коде Bun. Хаки поверх хаков. Злоупотребление assert'ами. Джарред писал «слоп» задолго до того, как у него появился доступ к LLM.

В чём была проблема с Zig?

Этот переход — самый пристально отслеживаемый в реальных условиях тест того, способны ли ИИ-агенты взять на себя продакшн-кодовую базу при минимальном участии человека, который скорее направляет процесс, чем читает код. На кону и репутация самой Anthropic: если эксперимент удастся, это станет реальным доказательством возможностей agentic coding. Если провалится — сигнал будет обратным.

Количество unsafe-блоков в коде на Rust говорит о том, что переписывание не принесло той безопасности работы с памятью, ради которой оно якобы затевалось. Вместо этого весь проект больше похож на рекламу Anthropic.

Действительно ли проблема была в Zig? Ранняя идентичность Bun строилась именно на Zig: производительность, быстрая компиляция, минимальные накладные расходы, прямой контроль над памятью силами небольшой команды.

Складывается впечатление, что Джарред и Anthropic решили заранее переписать проект на Rust, а проблемы с памятью в Zig использовали лишь как предлог показать миру мощь Claude. Такой переход обеспечил бы громкие заголовки — и обеспечил. Теперь приходится иметь дело с длинным шлейфом проблем от переписывания, к которым никто не был готов.

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

А «завтра» так и не наступило. Версии v1.4 всё ещё нет.

¯\_(ツ)_/¯