Джарред Самнер (Jarred Sumner), создатель и основной разработчик серверной JavaScript-платформы Bun, признал успешным эксперимент по переписыванию проекта с языка Zig и Rust при помощи AI-ассистента Claude Code, и принял решение о переводе Bun на язык Rust. Переписанный вариант на языке Rust уже принят в основной репозиторий проекта, а код на языке Zig намечен к удалению. Также автор Bun объявил о найме сотрудников для поддержки Bun, имеющих более 5 лет опыта разработки на языках C/C++ и Rust.
На данный момент на Rust реализован прямой порт с языка Zig, который включает множество блоков unsafe кода, использует ту же архитектуру, те же структуры данных и прежние внешние библиотеки. Отмечается, что порт на Rust успешно прошёл проверку существующим тестовым набором на всех платформах. Попутно было устранено несколько утечек памяти и сбоев в тестах.
После сборки версии на Rust исполняемый файл получился на 3-8 МБ меньше, чем при сборке версии на Zig. В тестах производительности версия на Rust оказалась либо быстрее, либо на том же уровне. При этом по мнению Джарред самым важным преимуществом варианта на Rust стала возможность отлавливания и предотвращения ошибок при работе с памятью, диагностика которых последние годы отнимала у разработчиков Bun уйму времени.
В качестве причины переписывания на Rust ранее отмечалось желание устранить проблемы в Bun, вызванные утечками памяти, наличие разногласий с авторами Zig в плане применения AI для написания кода и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость.
Bun JavaScript प्लेटफर्मलाई Node.js र Deno को उच्च-प्रदर्शन विकल्पको रूपमा विकास गरिँदैछ। यो परियोजना Node.js सर्भर अनुप्रयोगहरूको लागि अनुकूलतालाई ध्यानमा राखेर विकास गरिँदैछ र यसले धेरैजसो Node.js API लाई समर्थन गर्दछ। प्लेटफर्ममा JavaScript र TypeScript अनुप्रयोगहरू सिर्जना गर्न र चलाउन उपकरणहरूको सेट, साथै ब्राउजर बिना JavaScript अनुप्रयोगहरू कार्यान्वयन गर्नको लागि रनटाइम, प्याकेज प्रबन्धक (NPM सँग उपयुक्त), परीक्षण उपकरणहरू, एक स्व-निहित प्याकेज निर्माता, र C मा लेखिएका ह्यान्डलरहरू इम्बेडिङको लागि एक तह समावेश छ। कार्यसम्पादनको सन्दर्भमा, Bun ले Deno र Node.js लाई उल्लेखनीय रूपमा राम्रो प्रदर्शन गर्दछ (React फ्रेमवर्कमा आधारित परीक्षणहरूमा, Bun ले Deno लाई २ को कारकले र Node.js लाई लगभग ५ को कारकले राम्रो प्रदर्शन गर्दछ)। JavaScript कार्यान्वयन JavaScriptCore JavaScript इन्जिन र WebKit कम्पोनेन्टहरू द्वारा अतिरिक्त प्याचहरू सहित समर्थित छ।
स्रोत: opennet.ru
