Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Представлены Buz и Cruller, форки JavaScript-платформы Bun, продолжающие развитие на языке Zig

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 2145
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 60 раз
Поблагодарили: 28 раз

Представлены Buz и Cruller, форки JavaScript-платформы Bun, продолжающие развитие на языке Zig

Сообщение root:# »

Представлены Buz и Cruller, форки JavaScript-платформы Bun, продолжающие развитие на языке Zig
После объявления о переводе JavaScript-платформы Bun на язык Rust при помощи AI и задействования Rust в кодовой базе, на основе которой формируется ветка Bun 1.4, несколько энтузиастов объявили о создании форков платформы, продолжающих развитие с использованием языка Zig. Проект Buz подхватил разработку старой кодовой базы Bun с последнего коммита перед переходом на Rust. Среди особенностей форка заявлено задействование новых возможностей языка Zig и переход на сборочный инструментарий Zig для реализации поддержки очень быстрых инкрементальных пересборок платформы, выполняемых менее чем за секунду. Целью Buz является возможность использования в качестве прозрачной замены Bun и прохождение всех новых тестов, развиваемых для версии Bun на Rust. Из проводимых проектом работ также отмечается модернизация некоторых компонентов с использованием штатной стандартной библиотеки Zig и проведение чистки старой кодовой базы от неактуального кода или кода, созданного через AI, для уменьшения технического долга (уже удалено около 11 тысяч строк кода). Автор форма является противником применения AI, но для разбора уже имеющегося в старой кодовой базе Bun кода, созданного при помощи AI, планируется привлечь AI-инструменты, так как по его мнению вручную разобрать и привести в порядок около 600 тысяч строк "AI-слопа" нереально. До приведения кодовой базы в вид, пригодный для ручной разработки, решено не принимать pull-запросы от людей. При этом AI рассматривается как временный инструмент для чистки кодовой базы и применения идиоматичного языка Zig, чтобы в будущем поддерживать проект без помощи AI.

Второй форк основан на коде Bun 1.3.14 (последний выпуск на Zig ) и опубликован под именем Cruller. Форк ограничен разработкой только Bun Runtime для запуска готовых JavaScript-приложений на сервере и сосредоточен на переводе кода на использование языка Zig 0.16 вместо Zig 0.15. Расширенные возможности Bun, такие как управление пакетами, интеграция с TypeScript, N-API, SQL-клиенты, shell и система тестов, не охватываются форком. Cruller переведён на новую систему сборку и использует прослойки для API, которые изменились между версиями Zig 0.15 и 0.16. Из специфичных возможностей отмечается модуль для встраивания сгенерированного кода, позволяющий создавать автономные сборки, не требующие подгрузки JavaScript-файлов во время выполнения. По сравнению с Bun 1.3.14 размен исполняемого файла Cruller уменьшен с 88 до 73 МБ (-18%), производительность нового Runtime осталась примерно на том же уровне (для сравнения, размер исполняемого файла Bun на Rust сократился на 20%, а производительность увеличилась на 2-5%). При разработке Cruller AI-ассистенты не применяются для генерации кода, а используются только как вспомогательные инструменты для помощи в миграции на Zig 0.16, отладки и написании тестов. Архитектурные решения, рецензирование кода и проверку результатов осуществляет человек.

Источник: https://www.opennet.ru/opennews/art.shtml?num=65981