Bun 的 Rust 重寫:工程哲學的衝突
Bun 的 Rust 重寫:工程哲學的衝突
Zig 軟體基金會認為 Bun 的 Rust 重寫是一種解脫
Zig 軟體基金會(ZSF)對 Bun 決定將其程式碼庫改寫為 Rust 表示強烈贊同,認為此舉是 Zig 專案與 Bun 工程實踐之間必要的分離。根據 ZSF 的說法,此次轉換消除了 Bun 作為一個高能見度但不佳的 Zig 程式碼範例所帶來的「淨負債」。
關於程式碼品質與工程的根本分歧
ZSF 主張 Bun 的開發充斥著「不負責任的軟體工程實踐」,這些實踐招致了有關記憶體安全的批評——這是 Zig 經常爭論的焦點。
對 Bun 程式碼庫的技術批評
ZSF 強調了原始 Zig 實作中的幾項具體技術失敗:
- 技術債務: 程式碼庫被描述為「在 hack 之上再 hack」,以魯莽的功能交付速度忽視了錯誤消除與反思。
- 斷言濫用: ZSF 指出斷言的濫用是品質不佳的主要指標。
- Comptime 濫用: ZSF 表示他們多年來警告 Bun 團隊濫用
comptime與inline,這影響了編譯時間與二進位檔大小。 - LTO 誤解: ZSF 反駁 Bun 宣稱 Rust 重寫的效能提升來自連結時間最佳化(LTO),指出 Zig 在 Bun 存在期間一直支援 LTO。
「工程資源」的辯論
ZSF 認為,透過投入足夠的工程資源即可消除錯誤,而不是僅依賴語言特性。他們以 TigerBeetle 為例,說明該專案透過嚴謹的努力與與 ZSF 的健康關係,在 Zig 中維持高品質。
管理與文化摩擦
除了技術層面的顧慮,ZSF 描述了 Zig 專案與 Bun 領導層之間的職業關係破裂。
領導與工作文化
ZSF 將 Bun 的創辦人 Jarred Sumner 形容為具有「新手能量」——這在學生身上是正面的特質,但對管理者而言卻是問題。文章引用了公司內部溝通不良、期望不切實際、同理心不足的報導,並引用 Sumner 的公開聲明:「Oven 將會是一場磨練」,認為重視工作與生活平衡的人可能不適合。
風險投資資金與收購的影響
ZSF 認為,從開源心態轉變為風投支持的創業公司,使 Bun 的優先順序轉向「創業公司的退出策略」與生產力幻想,最終導致被 Anthropic 收購。ZSF 指出,收購後捐款給 Zig 軟體基金會停止,預定會議被忽略,雙方關係實質上已結束。
社群回應與反駁
ZSF 觀點的公布在開發者社群中引發激烈討論,反應分為認為此誠實令人耳目一新與認為語氣不專業兩大陣營。
為 Bun 的實踐辯護
Jarred Sumner 回應了關於 Bun 未使用 fuzzing 的指控,提供了多個 Pull Request 作為 Fuzzilli 整合與從 Zig 程式碼 fuzzing 中修復錯誤的證據。
對 ZSF 語氣的批評
許多社群成員認為公開批評 Jarred Sumner 是「人身攻擊」且對嚴肅程式語言專案的領導者不專業。批評者指出,將「負責任的工程實踐」作為內建記憶體安全的替代方案,是 Zig 的弱勢銷售點,認為要求開發者「更努力」才能得到 Rust 已提供的相同安全性,並非吸引人的提案。
關於 AI 與 Rust 的觀點
部分觀察者指出,LLM 的興起使 Rust 透過協助借用檢查器變得更易使用,可能削弱 Zig 主要優勢(簡潔性),而 Rust 仍保有其安全保證。