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 适合写内核级别的代码,但并不是适合业务开发,因为它不够高效,不够灵活。