Bun को Rust में बदला गया है। अब क्या?
Rust पोर्ट के कथित लक्ष्य और परिणाम
- मुख्य घोषित लाभ: Zig से Rust में जाना, जबकि व्यवहार वही रखना, और अधिकांश परीक्षण अभी भी पास होना।
- कुछ लोग वास्तविक फायदे देखते हैं: सरल build, unsafe code का स्पष्ट localization, progressive hardening की संभावना।
- दूसरों को लगता है कि यह rewrite काफी हद तक दिखावटी या marketing stunt है, खासकर बची हुई unsafety और LLM involvement को देखते हुए।
- कुछ लोग neutral-to-better benchmarks और छोटे binaries को Zig बनाम Rust के दिलचस्प data points मानते हैं।
unsafe का उपयोग और memory safety
- केंद्रीय चिंता:
unsafeblocks की tens of thousands, जिनमें से कई LLM द्वारा generated हैं, Rust के core promise of memory safety को कमजोर करती हैं। - समर्थकों का तर्क है कि स्पष्ट रूप से marked
unsafeवैसे भी Zig/C से बेहतर है; आपको एक ठोस “to-fix” list मिलती है। - आलोचकों का जवाब है कि यदि एक भी block unsound है, तो पूरा program undefined behavior दिखा सकता है; “gazillions” of LLM-written blocks के साथ यह risk बहुत अधिक है।
- तुलना: कहा जाता है कि Bun की
unsafedensity Deno की तुलना में लगभग दोगुनी है, हालांकि दोनों को unsafe C/C++ JS engines को wrap करना ही पड़ता है।
LLM-driven “vibe coding” और trust
- ऐसे runtime पर भरोसा करने को लेकर तीखा मतभेद है, जिसे मुख्यतः LLM ने translate किया है:
- कुछ लोग: अच्छे test suite के साथ translation, LLM के लिए सबसे अच्छे use cases में से एक है।
- अन्य: runtime foundational infrastructure है; mostly unread AI code की million lines ship करना “blatantly irresponsible” है।
- “vibecoding” label पर बहस: कुछ लोग मानते हैं कि यह tooling बनाम process की nuance को मिटा देता है; अन्य इसे low-rigor AI use के shorthand के रूप में इस्तेमाल करते हैं।
- चिंता यह भी है कि heavy AI reliance developers की code quality का आकलन करने की क्षमता को कमजोर कर देती है।
Tests, correctness, और safety measurement
- व्यापक सहमति है कि high test pass rates behavioral equivalence तो दिखाते हैं, memory safety नहीं।
- कुछ लोग नोट करते हैं कि port के दौरान test suite में भी बदलाव किए गए, जिससे exact “99.8%” numbers कुछ हद तक अस्पष्ट हो जाते हैं।
- जोर इस बात पर है कि tests सभी failure modes को cover नहीं कर सकते; गहरी समझ और review अभी भी आवश्यक हैं।
Process, idiomatic Rust, और future work
- कई लोगों को संदेह है कि एक week की, million-line PR को वास्तव में गंभीरता से review किया जा सकता था।
- चिंता है कि परिणाम non-idiomatic Rust है जिसमें Zig-style memory semantics हैं, जिससे लंबे समय के refactoring और कठिन हो जाते हैं।
- कुछ का तर्क है कि असली काम अब
unsafeहटाने के लिए व्यापक, सावधानीपूर्ण re-architecting है; दूसरों को संदेह है कि एक direct port की बजाय fresh Rust design बेहतर होता।