← Все статьи
2026-05-15 10:01 · 🌐 СНГ (tech/AI)

Claude Code переписал Bun с Zig на Rust — и это сработало

Джарред Самнер, создатель JavaScript-рантайма Bun, объявил об успешном эксперименте: весь проект переписан с Zig на Rust с помощью Claude Code. Rust-версия принята в основной репозиторий, а Zig-код готовят к удалению.

Claude Code переписал Bun с Zig на Rust — и это сработало

Команда Bun — одного из самых быстрых JavaScript-рантаймов — завершила масштабный технический эксперимент. Весь кодовой базы с языка Zig перенесли на Rust, и сделали это с активной помощью Claude Code. Порт прошёл полный тестовый набор на всех платформах, устранил несколько утечек памяти и дал исполняемый файл на 3–8 МБ меньше по размеру. Производительность — на уровне или выше прежней.

Контекст

Bun — это современная среда выполнения JavaScript, конкурент Node.js и Deno. Она стартует в 4 раза быстрее Node.js, встроенно поддерживает TypeScript и JSX без зависимостей, работает на движке JavaScriptCore от WebKit. Версия 1.0 вышла в сентябре 2023 года, сейчас в разработке ветка 1.3.х.

Проект изначально строился на Zig — низкоуровневом языке с ручным управлением памятью, что и обеспечивало высокую скорость. Но именно это стало источником боли: утечки памяти годами съедали время разработчиков. Добавились два структурных конфликта: команда Zig имеет одну из самых жёстких политик против использования ИИ в разработке, а сам язык часто вносит ломающие изменения — неприемлемо для зрелого проекта с большой экосистемой.

Rust предложил логичный выход: тот же уровень контроля над памятью, но с компилятором, который ловит ошибки на этапе сборки. А Claude Code взял на себя механическую часть миграции.

Аналитика

Этот кейс важен не сам по себе, а как сигнал. Впервые крупный production-проект (не pet-проект, не стартап на раннем этапе) публично признал успешным переписывание критической инфраструктуры с помощью AI-ассистента. Порт — прямой: та же архитектура, те же структуры данных, те же внешние библиотеки, много блоков unsafe. Claude Code не придумывал новую архитектуру — он делал тяжёлую рутинную работу по трансляции кода.

Это меняет представление о том, что AI-агенты могут делать в реальных проектах. До этого момента консенсус был такой: AI хорош для небольших задач, но переписывание сложной системной кодовой базы — за пределами его возможностей. Команда Bun показала, что это не так — при правильном подходе и контроле со стороны человека.

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

Кейсы применения в бизнесе

B2B-SaaS стартап на Node.js. Если бэкенд написан на Node.js или использует TypeScript-тулчейн, миграция на Bun как среду выполнения — это быстрый выигрыш без переписывания бизнес-логики. Bun совместим с большинством npm-пакетов. Можно начать с CI-pipeline: заменить node на bun в тестах и замерить ускорение. Ожидаемый результат — сокращение времени холодного старта и снижение нагрузки на контейнеры.

Корпорация с legacy-кодом на нескольких языках. История с Bun — это кейс использования Claude Code для автоматизации миграции между языками. Если есть legacy C/C++ или Go-сервисы, которые нужно перевести на более современный стек, можно начать с пилота: взять изолированный модуль, описать контракт (входы/выходы, тесты) и делегировать механическую часть AI-агенту под контролем старшего разработчика.

SMB и локальный бизнес в КР/СНГ с ограниченной командой. Для небольших команд, которые поддерживают JavaScript-сервисы, Bun на Rust означает меньше времени на отладку крэшей и утечек. Но главный инсайт другой: если стоит задача рефакторинга или портирования небольшого проекта, Claude Code как инструмент уже доказал применимость в production-сценарии — это снижает порог входа для экспериментов.

Кейсы в личной жизни

Разработчик на TypeScript/JavaScript. Попробуй заменить node на bun в личных проектах — скрипты, CLI-утилиты, тесты. Особенно заметен выигрыш на TypeScript-файлах, которые Node.js требует предварительно транспилировать. Bun делает это встроенно.

Разработчик, изучающий Rust или Zig. Репозиторий Bun теперь — живой учебник по портированию системного кода с Zig на Rust. Изучать реальный production-код с комментариями от команды куда полезнее, чем синтетические туториалы. Плюс можно посмотреть, как именно выглядит «AI-assisted migration» на практике.

Студент или джун, изучающий инструменты. Этот кейс — хороший повод разобраться с Claude Code не как с чат-ботом, а как с агентом для работы с кодовой базой. Попробуй взять небольшой открытый проект на одном языке и попросить Claude Code перевести его на другой — с тестами и контролем корректности. Это прокачивает и понимание языков, и навык работы с AI-агентами.

Как применить сегодня

  • Замени node на bun в своём следующем TypeScript-проекте или CI-шаге — bun run index.ts без предварительной сборки.
  • Если в проекте есть legacy-модуль, который давно нужно переписать, попробуй Claude Code в режиме агента: дай ему тесты как спецификацию и попроси портировать. Начни с изолированного модуля без внешних зависимостей.
  • При выборе языка для нового проекта учитывай его политику относительно AI-инструментов — это уже часть критериев оценки экосистемы.
  • Следи за веткой Bun 1.3.x — первые стабильные релизы на Rust покажут реальный прирост производительности на production-нагрузках.
  • Если команда работает на Node.js и хочет снизить время деплоя, замерь размер Docker-образа с Bun вместо Node — разница в размере рантайма может быть ощутимой.
← Все статьи