Idineklara ni Jarred Sumner, ang lumikha at pangunahing developer ng server-side JavaScript platform na Bun, ang kanyang eksperimento sa muling pagsusulat ng proyekto mula sa Zig at Rust gamit ang AI assistant na Claude Code bilang isang tagumpay at nagpasyang ilipat ang Bun patungong Rust. Ang muling pagsusulat ng Rust ay natanggap na sa pangunahing repository ng proyekto, at ang Zig code ay nakatakdang burahin. Inanunsyo rin ng awtor ni Bun ang pagkuha ng mga support staff na may mahigit limang taon na karanasan sa C/C++ at Rust development.
Sa kasalukuyan, isang direktang port ng wikang Zig ang naipatupad sa Rust. Kabilang dito ang maraming bloke ng hindi ligtas na code at gumagamit ng parehong arkitektura, mga istruktura ng datos, at mga umiiral na panlabas na library. Matagumpay na nakapasa ang Rust port sa umiiral na test suite sa lahat ng platform. Naayos din ang ilang memory leak at mga pagkabigo sa pagsubok.
Matapos buuin ang bersyong Rust, ang executable ay 3-8 MB na mas maliit kaysa sa bersyong Zig. Sa mga pagsubok sa pagganap, ang bersyong Rust ay mas mabilis o kapantay nito. Gayunpaman, ayon kay Jarred, ang pinakamahalagang bentahe ng bersyong Rust ay ang kakayahang mahuli at maiwasan ang mga error sa memorya, na isang malaking gawain na matagal para sa mga developer ng Bun nitong mga nakaraang taon.
Ang mga dahilan ng muling pagsulat sa Rust ay dating nabanggit bilang pagnanais na ayusin ang mga problema sa Bun na dulot ng mga memory leak, mga hindi pagkakasundo sa mga may-akda ng Zig tungkol sa paggamit ng AI para sa pagsulat ng code, at ang patakaran ni Zig tungkol sa pagtanggap ng mga pagbabago sa wika na sumisira sa compatibility, na hindi katanggap-tanggap para sa malalaking proyekto.
Ang Bun JavaScript platform ay binubuo bilang isang mataas na pagganap na alternatibo sa Node.js at Deno. Ang proyekto ay binubuo nang isinasaalang-alang ang pagiging tugma para sa mga aplikasyon ng server ng Node.js at sinusuportahan ang karamihan sa Node.js API. Kasama sa platform ang isang hanay ng mga tool para sa paglikha at pagpapatakbo ng mga aplikasyon ng JavaScript at TypeScript, pati na rin ang isang runtime para sa pagpapatupad ng mga aplikasyon ng JavaScript nang walang browser, isang package manager (tugma sa NPM), mga tool sa pagsubok, isang self-contained package builder, at isang layer para sa pag-embed ng mga handler na nakasulat sa C. Sa mga tuntunin ng pagganap, ang Bun ay makabuluhang nahihigitan ang Deno at Node.js (sa mga pagsubok batay sa React framework, ang Bun ay nahihigitan ang Deno nang 2 beses at ang Node.js nang halos 5 beses). Ang pagpapatupad ng JavaScript ay sinusuportahan ng JavaScriptCore JavaScript engine at mga bahagi ng WebKit na may mga karagdagang patch.
Pinagmulan: opennet.ru
