9 月 16 日,在維也納舉行的 Linux 基金會開源峰會上,Linus 談到了關於 Rust 和 C 語言的爭論。
“C 語言,歸根結底,是一個非常簡單的語言。這是我享受 C 語言的原因,也是很多 C 語言程式設計師喜歡它的原因。也正因為它簡單,所以也非常容易犯錯。而 Rust 不是。” 在與 Verizon 開源部門負責人 Dirk Hohndel 的現場對話中,Linus 對 Rust 的安全性予以了肯定。
將 Rust 引入 Linux 核心已經成為一個熱門話題。
2022 年,開發者們就這門語言進行了爭論,一些人將 Rust 的記憶體安全特性稱為對多年來核心工作的 “侮辱”。
9 月初,Rust for Linux 專案的一位維護者辭職,稱對 “非技術性的胡說八道” 感到沮喪。這在技術圈引起了討論。
Linus 表示,不理解為什麼 Rust 會成為如此有爭議的話題,並笑稱這讓他想起了過去人們關於 vi 和 Emacs 編輯器的爭論。(補充一下:vi 和 Emacs 的爭論可以追溯到 20 世紀 70 年代,並且至今仍在繼續。)
“Rust 和 C 的討論幾乎帶有宗教色彩。”Linus 直言,爭論有時會變得激烈,甚至可以說是惡毒。但他認為在這些關於 Rust 的爭論是積極的,因為它激發了討論,表明有人在乎。
現在人們都在談論 “Rust 整合失敗了”,Linus 認為,要得出這一結論還為時尚早,畢竟才做了幾年。何況他並不認為該專案會失敗。
一個月前,在香港舉行的 Linux 基金會開源峰會上,Linus 就曾公開表示,Rust 在 Linux 核心專案中的採用速度太慢了。
一方面,因為很多資深核心開發者都已經習慣了 C 語言,對 Rust 並不熟悉。況且 Rust 以學習曲線陡峭著稱,他們沒有什麼興趣學些一門新的語言。
另一方面,Rust 的基礎設施本身還不夠穩定。確實如此,與 C 語言相比,Rust 的生態系統還相對年輕,而 C 語言的生態系統已經發展了幾十年,擁有大量穩定、經過時間檢驗的庫和工具。
雖然這麼說,但也並不影響 Linux、Windows、Android 三大作業系統積極探索和引入 Rust 語言,以利用其在記憶體安全和併發程式設計方面的優勢。
為什麼都三大作業系統都看好 Rust,它是怎麼實現記憶體安全的?以至於谷歌甚至還放話要脫離 C/C++。
在作業系統之外,Rust 也將取代 C/C++ 嗎?有人就認為,Rust 適合寫核心級別的程式碼,但並不是適合業務開發,因為它不夠高效,不夠靈活。
推薦閱讀點選標題可跳轉