Skaparen av plattformen Bun genomför ett experiment med att Äterskriva frÄn Zig till Rust

Jarred Sumner, skaparen och huvudutvecklaren av serverplattformen JavaScript Bun, har skapat en Git-branch dÀr han pÄbörjat omskrivningen av Bun frÄn Zig till Rust. Omskrivningen görs med hjÀlp av AI-assistenten Claude, för vilken det har utarbetats en sÀrskild vÀgledning för porteringen. Enligt Jarred Àr detta fortfarande ett experiment och inte en officiell port, och det Àr stor risk att det inte kommer gÄ lÀngre Àn experimentstadiet och den omskrivna koden inte kommer att anvÀndas.

Porteringen Àr fortfarande inte slutförd, och i det nuvarande skedet Àr allt intresse för projektet fokuserat pÄ att bedöma hur vÀl porten fungerar, om den kommer att klara av testuppsÀttningarna för huvudprojektet och hur svÄrt det kommer att vara att underhÄlla den nya koden. I slutÀndan planeras en jÀmförande testning av variationerna av Bun pÄ Zig och Rust.

I december förra Äret togs projektet Bun över av företaget Anthropic, sÄ Jarred har resurser för att involvera avancerade AI-modeller som Claude i porteringen. Bun-plattformen anvÀnds i produkterna Claude Code och Claude Agent SDK, och företaget Anthropic Àr intresserade av att förbÀttra dess kvalitet och utveckling. Bun Àr ett av de mest framgÄngsrika projekten pÄ Zig-sprÄket, samtidigt som utvecklarna av Zig och Bun har olika Äsikter om tillÀmpningen av AI i utvecklingsprocessen. I Zig-projektet finns det ett strikt förbud mot anvÀndning av stora sprÄkmodeller vid förberedelse av pull-förfrÄgningar, problem och kommentarer (Àven översÀttning via AI av kommentarer som inte Àr pÄ engelska Àr förbjuden).

Införandet av sĂ„dana begrĂ€nsningar förklaras av Zig-utvecklarna pĂ„ grund av negativa erfarenheter frĂ„n granskningen av pull-förfrĂ„gningar skapade genom AI, vilka tar upp resurser och tid (till exempel pĂ„pekas meningslösa förĂ€ndringar, AI-hallucinationer och uppblĂ„sta commits pĂ„ 10 000 rader). Dessutom positionerar Zig-projektet sig som deltagarorienterat snarare Ă€n som ett bidrag som görs av dem — det frĂ€msta syftet med att godkĂ€nna pull-förfrĂ„gningar anges som att hjĂ€lpa till med utvecklingen av nya deltagare.

Författaren Bun motsÀtter sig förbudet mot AI i Zig och anser att AI-malt kommer att förbli en nostalgisk kvarleva frÄn 2025 och 2026, medan utvecklingen av öppen mjukvara kommer att evolvera till ett förbud mot att ta emot kod frÄn mÀnniskor. MÀnniskor kommer att diskutera problem, sÀtta upp mÄl och prioritera, medan skriva kod och skicka Àndringar till repositoryn blir en uppgift för AI. En anledning till experimenten med att Äter skriva i Rust anges ocksÄ vara viljan att lösa problem i Bun orsakade av minneslÀckor, samt den oacceptabla politiken för större projekt i Zig gÀllande sprÄkets förÀndringar som bryter kompatibilitet.

PĂ„ grund av förbudet mot att anvĂ€nda AI tvingas utvecklarna av Bun att stödja en egen fork av Zig-verktygen, dĂ€r man lyckats öka kompileringstiden med fyra gĂ„nger tack vare parallellisering av semantisk analys och kodgenerering. Enligt en kommentar frĂ„n en av utvecklarna av Zig beror avvisningen av patchar inte pĂ„ AI, utan pĂ„ att parallellisering av semantisk analys pĂ„verkar inte bara kompilatorn utan Ă€ven sprĂ„ket sjĂ€lvt – för att implementera den föreslagna funktionaliteten utan fel och kompatibilitetsproblem krĂ€vs det förĂ€ndringar i Zig-sprĂ„ket. IstĂ€llet för parallellisering utvecklar Zig-teamet inkrementell kompilering, vilket de tror kommer att öka kompileringens hastighet avsevĂ€rt.

JavaScript-plattformen Bun utvecklas som ett högpresterande alternativ till plattformarna Node.js och Deno. Projektet utvecklas med fokus pÄ att sÀkerstÀlla kompatibilitet med serverapplikationer för Node.js och stöder merparten av API:erna för Node.js. Plattformen innehÄller en uppsÀttning verktyg för att skapa och köra applikationer pÄ JavaScript- och TypeScript-sprÄken, sÄvÀl som en runtime för att köra JavaScript-applikationer utan webblÀsare, en paketförvaltare (kompatibel med NPM), verktyg för testkörning, ett system för att bygga sjÀlvbÀrande paket och en mellanlager för att integrera handlers skrivna i C. NÀr det gÀller prestanda övertrÀffar Bun Deno och Node.js avsevÀrt (i tester baserade pÄ React-ramverket övertrÀffar Bun-plattformen Deno med 2 gÄnger och nÀstan 5 gÄnger Node.js). För att köra JavaScript anvÀnds JavaScript-motorn JavaScriptCore och komponenter frÄn WebKit-projektet med ytterligare patchar.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster