Jarred Sumner, creatorul și dezvoltatorul principal al platformei JavaScript server-side Bun, a declarat un succes al experimentului său de rescriere a proiectului din Zig și Rust folosind asistentul de inteligență artificială Claude Code și a decis să migreze Bun către Rust. Rescrierea Rust a fost deja acceptată în depozitul principal al proiectului, iar codul Zig este programat pentru ștergere. Autorul lui Bun a anunțat, de asemenea, angajarea de personal de suport cu peste cinci ani de experiență în dezvoltare C/C++ și Rust.
În prezent, în Rust a fost implementat un portare directă a limbajului Zig. Aceasta include numeroase blocuri de cod nesigur și utilizează aceeași arhitectură, structuri de date și biblioteci externe existente. Portarea Rust a trecut cu succes suita de teste existentă pe toate platformele. De asemenea, au fost remediate mai multe scurgeri de memorie și eșecuri de testare.
După construirea versiunii Rust, executabilul era cu 3-8 MB mai mic decât versiunea Zig. În testele de performanță, versiunea Rust a fost fie mai rapidă, fie la egalitate. Cu toate acestea, potrivit lui Jarred, cel mai important avantaj al versiunii Rust a fost capacitatea de a detecta și preveni erorile de memorie, care fusese o sarcină consumatoare de timp uriașă pentru dezvoltatorii Bun în ultimii ani.
Motivele pentru rescrierea în Rust au fost citate anterior ca fiind dorința de a remedia problemele din Bun cauzate de scurgeri de memorie, dezacorduri cu autorii Zig în ceea ce privește utilizarea inteligenței artificiale pentru scrierea codului și politica Zig privind acceptarea modificărilor aduse limbajului care încalcă compatibilitatea, ceea ce este inacceptabil pentru proiectele mari.
Platforma Bun JavaScript este dezvoltată ca o alternativă de înaltă performanță la Node.js și Deno. Proiectul este dezvoltat având în vedere compatibilitatea cu aplicațiile server Node.js și acceptă majoritatea API-ului Node.js. Platforma include un set de instrumente pentru crearea și rularea aplicațiilor JavaScript și TypeScript, precum și un runtime pentru executarea aplicațiilor JavaScript fără browser, un manager de pachete (compatibil cu NPM), instrumente de testare, un constructor de pachete autonom și un strat pentru încorporarea handlerelor scrise în C. În ceea ce privește performanța, Bun depășește semnificativ Deno și Node.js (în testele bazate pe framework-ul React, Bun depășește Deno cu un factor de 2 și Node.js cu un factor de aproape 5). Execuția JavaScript este acceptată de motorul JavaScriptCore și componentele WebKit cu patch-uri suplimentare.
Sursa: opennet.ru
