Bun 正在從 Zig 語言遷移至 Rust 語言
Bun 專案已啟動第一階段遷移指南,將其程式碼庫從 Zig 程式語言轉移至 Rust。
背景
近期在 GitHub 上出現了一份關於 Bun 專案的提交紀錄,顯示開發團隊正在撰寫將程式碼從 Zig 遷移至 Rust 的「第一階段移植指南」。這項變動引起了技術社群的高度關注,因為 Bun 自問世以來一直以 Zig 語言的高效能作為核心賣點,而此次轉向 Rust 可能預示著這款高效能 JavaScript 執行環境在技術架構與開發策略上的重大轉向。
社群觀點
針對 Bun 決定從 Zig 轉向 Rust 的舉動,Hacker News 社群展開了熱烈討論,多數觀點認為這與近期 Zig 官方對 AI 生成程式碼的嚴格政策有關。由於 Zig 官方明確拒絕接受由 AI 輔助產生的貢獻,而 Bun 團隊在被 Anthropic 收購後,顯然更傾向於利用大型語言模型來加速開發進程。社群成員指出,Zig 目前仍處於頻繁變動的開發階段,語法更新快速且缺乏足夠的訓練數據,導致 AI 工具難以產出正確的 Zig 程式碼;相比之下,Rust 的生態系統更為成熟,編譯器的嚴格安全性檢查反而能與 AI 的「氛圍編碼」(vibe coding)形成互補,透過編譯器的強制約束來確保 AI 產出程式碼的品質。
部分開發者對此轉變持正面態度,認為 Rust 在人才招募與社群貢獻上具有明顯優勢。Zig 雖然在系統級開發上有其獨特魅力,但其不穩定的編譯器錯誤與較小的開發者基數,長期來看可能成為專案維護的技術債。若 Bun 團隊不願自行維護一個 Zig 的分支版本,轉向主流的 Rust 是務實的選擇。此外,也有人提到 Anthropic 內部本身就深度投入 Rust 生態,例如近期推出的 Connect RPC 相關工具,這種企業內部的技術偏好可能也推動了這次的語言遷移。
然而,社群中也不乏擔憂與質疑的聲音。有評論者指出,從 Zig 這種手動管理記憶體的語言移植到具有嚴格所有權模型的 Rust 並非易事,若過度依賴 AI 進行自動化移植,可能會在控制流與記憶體分配上產生大量冗餘的複製操作,進而損害 Bun 引以為傲的效能表現。此外,部分使用者對 Bun 團隊近期展現出的開發風格感到不安,認為過度強調 AI 參與而排斥人類貢獻者的傾向,可能會影響專案的長期穩定性。對於已經將 Bun 投入生產環境的開發者來說,這種核心語言的大規模更換無疑增加了未來維護的不確定性。
延伸閱讀
在討論中,社群成員提到了關於 Zig 官方反對 AI 貢獻的政策背景,可參考 Simon Willison 的文章《Zig's anti-AI policy》。另外,關於 Anthropic 在 Rust 生態的投入,可關注其近期開源的 Buffa 專案,這是一個基於 Rust 的 Protobuf 編譯器,旨在成為 Connect RPC 的官方實作之一。
相關文章