Джарред Самнер (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 জাভাস্ক্রিপ্ট প্ল্যাটফর্মটি Node.js এবং Deno-এর একটি উচ্চ-পারফরম্যান্স বিকল্প হিসেবে তৈরি করা হচ্ছে। প্রকল্পটি Node.js সার্ভার অ্যাপ্লিকেশনের সাথে সামঞ্জস্যতা মাথায় রেখে তৈরি করা হচ্ছে এবং এটি Node.js API-এর বেশিরভাগ অংশ সমর্থন করে। এই প্ল্যাটফর্মে জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্ট অ্যাপ্লিকেশন তৈরি ও চালানোর জন্য একগুচ্ছ টুল, ব্রাউজার ছাড়াই জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন চালানোর জন্য একটি রানটাইম, একটি প্যাকেজ ম্যানেজার (NPM-এর সাথে সামঞ্জস্যপূর্ণ), টেস্ট টুল, একটি স্বয়ংসম্পূর্ণ প্যাকেজ বিল্ডার এবং C-তে লেখা হ্যান্ডলার এমবেড করার জন্য একটি লেয়ার অন্তর্ভুক্ত রয়েছে। পারফরম্যান্সের দিক থেকে, Bun উল্লেখযোগ্যভাবে Deno এবং Node.js-কে ছাড়িয়ে যায় (React ফ্রেমওয়ার্কের উপর ভিত্তি করে করা পরীক্ষায়, Bun, Deno-কে ২ গুণ এবং Node.js-কে প্রায় ৫ গুণ ছাড়িয়ে যায়)। জাভাস্ক্রিপ্ট এক্সিকিউশন JavaScriptCore জাভাস্ক্রিপ্ট ইঞ্জিন এবং অতিরিক্ত প্যাচসহ WebKit কম্পোনেন্ট দ্বারা সমর্থিত।
উত্স: opennet.ru
