整理 | 彭慧中 責編 | 屠敏
GCC(GNU Compiler Collection,簡稱為GCC)指導委員會已經批准了 GCC Rust 前端,該前端由 GNU 編譯器套裝提供 Rust 程式語言支持。GCC 指導委員會宣佈,Rust 前端「GCC Rust」適合被納入 GCC 主執行緒式碼庫,並且可能會在明年的 GCC 13 發佈之前被合併到主線當中。

GCC Rust的茁壯成長
GCC Front-End For Rust(也稱為 GCC Rust)是 Rust 語言在 GCC 之上的一個完整替代性實現,目標是成為 GNU 工具鏈的上游。官方的 Rust 編譯器實現是基於 LLVM 的,而 GCC Rust 是一個前端項目,與 LLVM 不同的是該編譯器將獲得對所有 GCC 內部中端最佳化通道的完全訪問權。與 GCC 的緊密結合的項目往往能夠從 GCC 外掛中受益。當然 GCC 也會帶來對更多目標架構的支持,基於 GCC 的 Rust 編譯器將使 GCC Rust 在新的平臺上更加容易啟動。
在這個項目創立時,Rust 還處於 0.9 版本,隨著 Rust 語言已經足夠穩定,創建替代性編譯器的絕佳時機已然到來。從 2020 年 11 月開始,開發者 Philip Herron 就已全職從事 GCC Rust 的開發工作,在他和整個社區的共同努力下,GCC Rust 正逐漸進入主線。
該項目仍處於早期階段,目標是率先實現編譯官方的 Rust 測試套件,社區希望在 GCC 13 中對 Rust 程式語言至少有「測試」級別的支持,而 GCC 13 將在明年 4 月左右作為穩定版發佈。
Rust 的設計準則為「安全、併發、實用「,在確保性能和原生編譯語言一樣的同時,能夠實現記憶體安全。這樣的特性也促使如今有越來越多的公司開始使用 Rust 程式語言,支持 Rust 項目。Rust for Linux 也有望在 Linux 5.20 中實現。

開發者們的呼聲
訊息一經發出便引發了 400 多位開發者在 Haker News 上的熱烈討論,很多開發者都歡天喜地的慶祝這一喜訊的到來。
一名開發者表示:「這真是太好了!GCC 對 Rust 的支持使得 Rust 打開了更多的平臺,實現更多的目標,以及更容易與圍繞 CGG 構建的各種通用嵌入式工具鏈集成的機會。而且 GCC 是自由軟體,這對於那些關心它的人來說很重要。」

圖源Haker News
然而也有一些開發者對此抱有疑慮:「為程式語言配備多個編譯器的好處是什麼?有沒有這樣的情況:GCC 編譯的 Rust 程序會做一些 LLVM 不能做的事情?這不會導致 Rust 生態系統的分裂嗎?」

圖源Haker News
這樣疑慮也被一眾開發者爭相解答。一名開發者表示:「1. GCC比LLVM有更多的後端。2. 一般來說,競爭是好事。3. 預計這將引發GCC和rustc(Rust 程式語言的編譯器)之間的不一致;因為Rust並沒有一個真正的規範。這將迫使雙方討論並解決這些問題。」

圖源Haker News
另一名開發者也回應道:」一個好處是,它迫使語言闡明標準,而不是由實現來定義功能集。標準往往會給語言帶來穩定性和永續性,同時也使編寫新的編譯器成為可能,並使其更加可移植。「

圖源Haker News
總的來說,GCC Rust 的成長承載了諸多的期待,到明年 4 月份左右,或許就能於 GCC 13 中與其相見,那麼各位開發者們,你們如何看待 GCC Rust 呢?
參考連結:https://gcc.gnu.org/pipermail/gcc/2022-July/239057.html