Twórca platformy Bun przeprowadza eksperyment mający na celu przepisanie projektu z języka Zig na Rust.

Jarred Sumner, założyciel i główny deweloper serwerowej platformy JavaScript Bun, stworzył gałąź w Git, w której zajął się przepisywaniem Bun z języka Zig na Rust. Proces ten odbywa się z pomocą asystenta AI Claude, dla którego opracowano osobny przewodnik po portowaniu. Według Jarreda jest to na razie tylko eksperyment, a nie oficjalny port, i istnieje duże prawdopodobieństwo, że nie przyniesie on dalszych rezultatów, a przepisany kod nie zostanie wykorzystany.

Portowanie nie zostało jeszcze zakończone, a w obecnej fazie cały zainteresowanie projektem koncentruje się na ocenie, na ile funkcjonalny będzie port, czy przejdzie zestaw testów głównego projektu oraz jak trudne będzie utrzymanie nowego kodu. Ostatecznie planuje się przeprowadzenie porównawczych testów wersji Bun w Zig i Rust.

W grudniu ubiegłego roku projekt Bun został przejęty przez firmę Anthropic, dzięki czemu Jared ma zasoby do zaangażowania się w portowanie zaawansowanych modeli AI Claude. Platforma Bun jest wykorzystywana w produktach Claude Code oraz Claude Agent SDK, a firma Anthropic jest zainteresowana podniesieniem jej jakości i dalszym rozwojem. Bun jest jednym z najbardziej udanych projektów języka Zig, jednak zdania programistów Zig i Bun są podzielone w kwestii wykorzystania AI w procesie programowania. W projekcie Zig wprowadzono surowy zakaz stosowania dużych modeli językowych przy przygotowywaniu pull requestów, zgłoszeń oraz komentarzy (nawet tłumaczenie nieanglojęzycznych komentarzy za pomocą AI jest zabronione).

Wprowadzenie takich ograniczeń jest wyjaśniane przez deweloperów Zig negatywnym doświadczeniem związanym z przeglądaniem pull-requestów stworzonych przez AI, które zabierają zasoby i czas (np. zauważane są bezsensowne zmiany, halucynacje AI i rozbudowane commity liczące 10 tysięcy linii). Ponadto projekt Zig pozycjonuje się jako ukierunkowany na uczestników, a nie na ich wkład w rozwój — głównym celem akceptacji pull-requestów nie jest dodawanie nowego kodu, a pomoc w rozwijaniu nowych uczestników.

Autor Bun nie zgadza się z zakazem AI w Zig i uważa, że AI-łaknienie pozostanie sentymentalnym reliktem lat 2025 i 2026, a rozwój oprogramowania open source ewoluuje w kierunku zakazu przyjmowania kodu od ludzi. Ludzie będą dyskutować o problemach, stawiać zadania i ustalać priorytety, a pisanie kodu i wysyłanie zmian do repozytoriów stanie się domeną AI. Jako powód eksperymentów z przepisaniem na Rust podano również chęć rozwiązania problemów w Bun, spowodowanych wyciekami pamięci, oraz nieakceptowalną dla dużych projektów politykę Zig w kwestii przyjmowania zmian do języka, które naruszają zgodność.

Z powodu zakazu stosowania AI, deweloperzy Bun są zmuszeni do wspierania własnego forku narzędzia 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, według komentarza jednego z deweloperów Zig, przyczyną odrzucenia poprawek nie jest AI, lecz to, że równoległe przetwarzanie analizy semantycznej dotyka nie tylko kompilatora, ale i sam język — aby zrealizować zaproponowaną funkcjonalność bez błędów i niekompatybilności, konieczne są zmiany w języku Zig. Zamiast równoległego przetwarzania, deweloperzy Zig rozwijają kompilację inkrementalną, która ich zdaniem pozwoli znacząco zwiększyć prędkość kompilacji.

Platforma JavaScript Bun rozwija się jako wydajny odpowiednik platform Node.js i Deno. Projekt jest tworzony z myślą o zapewnieniu kompatybilności z aplikacjami serwerowymi dla Node.js i obsługuje 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 runtime do uruchamiania aplikacji JavaScript bez przeglądarki, menedżer pakietów (kompatybilny z NPM), narzędzia do przeprowadzania testów, system budowania autonomicznych pakietów oraz warstwa do wbudowywania handlerów napisanych w C. Pod względem wydajności Bun znacząco przewyższa Deno i Node.js (w testach opartych na frameworku React, platforma Bun osiąga dwa razy lepsze wyniki niż Deno i prawie pięć razy lepsze niż Node.js). Do wykonania JavaScript używany jest silnik JavaScriptCore oraz komponenty projektu WebKit z dodatkowymi poprawkami.

Źródło: opennet.ru

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