Ladybird瀏覽器元件正在使用人工智慧技術用Rust語言重寫。

Ladybird 瀏覽器的創辦人 Andreas Kling 宣布,Ladybird 計畫將採用 Rust 語言進行開發,並開始用該語言重寫部分程式碼。作為 C++ 的實驗,LibJS JavaScript 引擎已經用 Rust 重寫完成。選擇 LibJS 的原因是其良好的測試覆蓋率,這簡化了對移植品質的評估。

為了加快移植進程,我們使用了人工智慧助理 Claude Code 和 OpenAI Codex,使得程式碼重寫工作在兩週內完成。移植工作在開發者的指導下逐步進行,開發者在過程中向人工智慧助理發送了數百個提示,決定移植順序和移植內容,並明確最終 Rust 程式碼的要求。在收到來自不同人工智慧模型的程式碼後,我們對結果進行了審查和分析,以尋找錯誤和值得商榷的決策。

最終,基於 Rust 的引擎成功通過了 test262 測試套件中的全部 52898 項 ECMAScript 相容性測試以及 Ladybird 專案中的 12461 項迴歸測試。 Rust 版本產生的抽象語法樹 (AST) 和字節碼與 C++ 版本完全一致,目前尚未發現任何回歸問題。 JavaScript 測試也未顯示效能下降。此外,使用 C++ 和 Rust 版本的 LibJS 進行的網站處理結果對比測試也證實了這一點。

用 Rust 重寫瀏覽器元件被視為一項次要項目,可能需要花費大量時間。目前,主要開發工作正在使用 C++ 進行。哪些子系統將以 Rust 重寫將由核心開發團隊決定。新的 Rust 程式碼將透過明確定義的互通層與現有的 C++ 程式碼共存。

值得注意的是,2024 年 Ladybird 的開發者曾考慮使用 Swift 程式語言,但發現其與 C++ 程式碼的互通性不足,且對非蘋果平台的支援有限。 Rust 則以其更成熟的系統編程生態系統和安全保障而聞名。此外,許多 Ladybird 開發者都熟悉這門語言。然而,由於 Rust 基於所有權的開發模式與 C++ 的物件導向風格相衝突,因此在 2024 年,Ladybird 並未批准使用 Rust。

Andreas Kling 曾任職於諾基亞,參與 KHTML 的開發,之後加入蘋果公司,成為 Safari 瀏覽器的開發者之一。 Ladybird 最初是為 SerenityOS 作業系統開發的應用,但在 2024 年夏季,它被拆分為一個獨立項目,並獲得了 1 萬美元的捐贈。該瀏覽器使用 C++ 編寫,並以 BSD 許可證發布。該專案正在開發自己的 LibWeb 引擎、LibJS JavaScript 解釋器以及相關函式庫。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster