Rust基金會正式啟動了強化C++互通計畫,目的在於加強兩種系統語言之間的互通性,以支援雙語言的應用程式開發。該計畫希望透過技術改進和社群協作,讓開發人員在同一專案中,更自由地選擇使用Rust或C++,並減少因為操作限制所產生的開發負擔。
C++是發展歷史長久的系統語言,其足夠成熟且具有良好的資源管理能力,長期被應用於嵌入式系統和高效能運算等用例。而Rust則因其記憶體安全,以及對並行運算支援等特性為人所知,成為實作高效能且減少未定義行為的選擇。
但是隨著產業對安全性和效能的共同要求,混合兩者使用成為系統穩定性和開發效率的重要策略之一,但是因為當前C++與Rust的互通性技術還不夠成熟,無法使兩者良好整合。Rust基金會認為,互通性瓶頸使得現有C++系統無法順利整合Rust,同時也限制Rust程式碼在C++既有框架中的靈活應用。為此,Rust基金會運用各組織捐獻的資源,啟動C++互通計畫,希望在短期內改善現有工具,並在長期發展上深化語言層面的支援,同時促進雙方社群的合作。
短期計畫將針對目前市場上被廣泛使用的互通工具進行強化,包括cxx、bindgen與cbindgen,這三個專案將成為短期計畫的核心。bindgen功能是讓Rust直接呼叫C函式,cbindgen工具則反過來讓C程式可以呼叫Rust函式,而cxx則是目前C++和Rust互通的主力工具。
Rust基金會表示,雖然這些工具一定程度上解決了互通性問題,但是卻沒辦法處理更進階的需求,像是C++中複雜的類型系統和特殊功能。C++互通計畫短期目標要解決這些工具的效能和安全性,降低開發者在Rust與C++間呼叫函式和傳遞資料的困難度。Rust基金會將動員組織人力和資源,優先解決一些因為缺乏負責人或是合作,而導致長期停滯的技術問題。
長期策略方面,計畫會從根本提升兩個語言的操作基礎,這牽涉到語言設計、編譯器的支援,以及標準函式庫的變更。Rust基金會正在與C++標準委員會建立更緊密的合作關係,針對更高層次的問題進行討論,以找到雙方皆認可的解決方案。
這些問題例如是否能夠建立更豐富的介面層,以支援兩個語言間的類型轉換和資源管理,降低資料丟失的風險。由於這類的基礎設施議題需要廣泛的專業知識和支援,基金會將招集社群和專案團隊的主要成員共同參與,以加速推動發展過程。
Rust基金會強調C++互通計畫社群合作的重要性。當初Rust被設計為C++的替代選項,但是現在基金會認為,兩個語言的角色應該是互補而非競爭。透過在標準委員會層級的交流與合作,可使開發者同時受惠於Rust的安全性和C++的效能。
熱門新聞
2024-12-03
2024-11-29
2024-12-02
2024-12-02
2024-12-03