微软Azure CTO表示:是时候停止在新项目中使用C/C++了


Microsoft Azure 的首席技术官 Mark Russinovich 表示,出于安全性和可靠性的考虑,开发人员应避免在新项目中使用 C 或 C++ 编程语言,而应使用 Rust。

他的推文在发布后的前 10 小时内获得了 1000 次转发和 4000 次点赞。
推文内容如下:
是时候停止用C/C++启动新项目了,而是在需要没有垃圾收集器的编程语言的情况下使用Rust。为了安全和可靠,行业应该将C/C++这些语言标记为废弃的语言。

请注意,推文明确指的是新项目,而不是要求重写现有的应用程序,对于需要非垃圾收集 (GC) 语言的新项目,它优于 C 和 C+。
人们对他的推文反应不一。许多人同意这样的基本说法:Rust因为内存安全的基本概念而避免了许多漏洞。
然而,也有人解释说,Rust并不完全安全,可以神奇地解决所有问题。
负责Rust进一步发展的Rust基金会自己也知道:Rust在某些方面和其他语言一样脆弱。 9月中旬,该基金会成立了自己的安全团队,负责处理语言和生态系统的所有安全相关问题。


微软在过去 12 年中披露了 70% 的补丁是针对内存安全漏洞的修复,这主要是由于 Windows 主要用 C 和 C++ 编写的。
谷歌的 Chrome 团队在 2020 年对自己的发现进行了权衡,发现Chrome 代码库中所有严重的安全漏洞中有 70% 是内存管理和安全漏洞。它主要是用 C++ 编写的。     

Linux之父Linus Torvalds周一表示:“除非发生什么奇怪的事情,否则它[Rust] 将进入 6.1,”这似乎结束了关于 Rust 成为 Linux 内核的 C 的第二语言的长期争论。