微软CTO惊人建议:告别C/C++,是时代变迁还是引发争议?

发表时间: 2022-09-22 14:10

IT之家 9 月 22 日消息,9 月 20 日,微软 Azure 首席技术官(CTO)Mark Russinovich 在推特上称,建议业界弃用 C / C++ 编程语言

Mark Russinovich 表示,是时候停止使用 C / C++ 创建任何新项目了,如果需要 non-GC 语言的场景,建议使用 Rust 替代。为了安全和可靠,业界应该宣布 C / C++ 已被弃用。有大量的 C / C++ 将被维护和发展数十年(或更长时间),对于新工具,他会偏向于使用 Rust。

Rust 被许多人认为是 C++ 的后继者,并连续七年成为 StackOverflow 年度调查中最受欢迎的编程语言。此外,Rust 也有望并入 Linux 6.1 中,也因此备受期待。

近年来,苹果、微软、谷歌、亚马逊、Meta 等科技巨头都在使用 Rust,而且自 2019 年以来,微软一直在谈论抛弃 C / C++ 并探索 Rust,还在开发自己的面向云的内存安全编程语言,称为 Project Verona。因此,Russinovich 呼吁弃用 C / C++ 并非没有先例。

据微软称,自 2006 年以来,它修补的 CVE 中约有 70% 是由于内存安全问题造成的。消除这些错误将明显提高软件安全性,同时降低漏洞修复的成本。

IT之家了解到,外媒 The Register 向微软询问,是否 Russinovich 的建议在全公司范围内被采纳,微软官方拒绝置评

不过,C++ 之父 Bjarne Stroustrup 回应了该观点,他表示:

人们 —— 尤其是高管 —— 迷恋那些承诺可以让他们的生活更轻松的新事物,这并不少见。此外,支持新事物远比解决旧工具和知名工具的已知问题更令人兴奋。

不过,新语言通常需要多年时间和重大努力才能在其广泛的应用领域与成熟语言相匹配。爱好者很少看到这一点,并且他们的评论往往是片面的。

在许多情况下,安全性显然至关重要,因此多年来我一直致力于提高 C++ 的安全性。

Stroustrup 表示,现在可以在 ISO C++ 中实现有保证的完美类型和内存安全,而包括 Rust 在内的每一种“安全”语言都存在允许不安全代码的漏洞。替换它们或者只是让它们安全是一项艰巨的任务,必须逐步做到这一点,否则大量不安全的 C 和老 C++ 代码将存在永远。