Autor platformy Bun przeprowadza eksperyment w przepisywaniu z Ziga na Rusta.

Jarred Sumner, twórca i główny developer serwera JavaScript Bun, stworzył gałąź Git, w której rozpoczął przepisywanie Bun z języka Zig na Rust. Przepisywanie realizowane jest z wykorzystaniem asystenta AI Claude, dla którego przygotowano oddzielny podręcznik dotyczący portowania. Według słów Jarreda to na razie jedynie eksperyment, a nie oficjalny port, i istnieje duże prawdopodobieństwo, że eksperyment nie przejdzie dalej, a przepisany kod nie zostanie wykorzystany.

Portowanie nie zostało jeszcze zakończone, a na obecnym etapie całe zainteresowanie projektem koncentruje się na tym, aby ocenić, na ile działający okaże się port, czy przejdzie on zestaw testów głównego projektu oraz jak trudne będzie utrzymanie nowego kodu. Ostatecznie planowane jest przeprowadzenie testów porównawczych wersji Bun w Zig i Rust.

W grudniu zeszłego roku projekt Bun został przejęty przez firmę Anthropic, więc Jarred ma zasoby, aby zaangażować się w portowanie zaawansowanych modeli AI Claude. Platforma Bun jest stosowana w produktach Claude Code i Claude Agent SDK, a firma Anthropic jest zainteresowana poprawą jej jakości i rozwojem. Bun jest jednym z najbardziej udanych projektów w języku Zig, jednak zdania deweloperów Zig i Bun różnią się w kwestii zastosowania AI w procesie rozwoju. W projekcie Zig wprowadzono surowy zakaz używania dużych modeli językowych przy przygotowywaniu pull-requests, zgłoszeń i komentarzy (zabronione jest nawet tłumaczenie przez AI komentarzy w językach niena angielskim).

Wprowadzenie takich ograniczeń wyjaśniane jest przez deweloperów Zig negatywnym doświadczeniem w recenzowaniu pull-requests stworzonych przy pomocy AI, które pochłaniają zasoby i czas (na przykład wskazywane są bezsensowne zmiany, halucynacje AI oraz rozbudowane commity liczące 10 tysięcy linii). Ponadto projekt Zig pozycjonuje się jako ukierunkowany na uczestników, a nie ich wkład w rozwój – głównym celem akceptacji pull-requests jest nie dodawanie nowego kodu, ale pomoc w rozwoju nowych uczestników.

Autor Bun nie zgadza się z zakazem AI w Zig i uważa, że AI-ń słop pozostanie nostalgiczną pamiątką lat 2025 i 2026, a rozwój otwartego oprogramowania ewoluuje do zakazu przyjmowania kodu od ludzi. Ludzie będą omawiać problemy, stawiać zadania i ustalać priorytety, a pisanie kodu i przesyłanie zmian do repozytoriów stanie się domeną AI. Jako przyczynę eksperymentów z przepisywaniem na Rust wskazano również chęć wyeliminowania problemów w Bun spowodowanych wyciekami pamięci, oraz nieakceptowalną dla dużych projektów politykę Zig dotyczącą przyjmowania w język zmian naruszających kompatybilność.

Z powodu zakazu stosowania AI, deweloperzy Bun są zmuszeni do utrzymania własnego forka narzędzi Zig, w którym dzięki zastosowaniu AI udało się czterokrotnie przyspieszyć kompilację dzięki równoległemu przetwarzaniu analizy semantycznej i generacji kodu. Przy tym, sądząc po komentarzu jednego z deweloperów Zig, powód odrzucenia poprawek nie tkwi w AI, ale w tym, że równoległe przetwarzanie analizy semantycznej dotyczy nie tylko kompilatora, ale i samego języka — aby zrealizować proponowaną funkcjonalność bez błędów i niekompatybilności, wymagane są zmiany w języku Zig. Zamiast równoległego przetwarzania, deweloperzy Zig rozwijają kompilację inkrementacyjną, która według ich przypuszczeń pozwoli znacznie zwiększyć szybkość kompilacji.

Platforma Bun oparta na JavaScript rozwija się jako wysokowydajny odpowiednik platform Node.js i Deno. Projekt jest rozwijany z myślą o zapewnieniu kompatybilności z aplikacjami serwerowymi dla Node.js i wspiera większość API Node.js. W skład platformy wchodzi zestaw narzędzi do tworzenia i uruchamiania aplikacji w językach JavaScript i TypeScript, a także środowisko uruchomieniowe do wykonywania aplikacji JavaScript bez przeglądarki, menedżer pakietów (kompatybilny z NPM), narzędzia do testowania, system kompilacji samodzielnych pakietów oraz warstwa do wbudowywania obsługujących elementów napisanych w języku C. Pod względem wydajności Bun wyraźnie przewyższa Deno i Node.js (w testach opartych na frameworku React platforma Bun jest 2 razy szybsza od Deno i prawie 5 razy od Node.js). Do wykonywania JavaScript wykorzystano silnik JavaScriptCore oraz komponenty projektu WebKit z dodatkowymi patchami.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster