编程语言:微软 Azure CTO 表示,是时候停止在新项目中使用 C 和 C++

Azure CTO Mark Russinovich 说,业界应该将 C 和 C++ 语言视为“已弃用”。

Windows 11 22H2:如何获得微软最新的操作系统更新以及接下来会发生什么

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

  • GitHub vs GitLab:你应该使用哪个程序?

  • 微软为测试人员提供 Dev Box 虚拟工作站

  • Cloudify DevOps 6.4 到来。这是新功能

  • 您的软件开发人员薪水和工作指南

Rust于 2020 年发布 1.0 版并诞生于 Mozilla,现在被用于 Android 开源项目 (AOSP)、Meta、Amazon Web Services、Microsoft 的部分 Windows 和 Azure、Linux 内核中,在许多其他地方。

工程师重视它的“内存安全保证”,它减少了手动管理程序内存的需要,进而降低了内存相关安全漏洞的风险,这些安全漏洞给用“内存不安全”C 或 C++ 编写的大型项目带来了负担,其中包括 Chrome, Android、Linux 内核和 Windows。

另外: 了解微软构建下一代应用程序的宏伟愿景

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

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

Azure CTO 对使用 Rust 的唯一限定是,对于需要非垃圾收集 (GC) 语言的新项目,它比 C 和 C+ 更可取。GC 引擎处理内存管理。Google 的 Go 是一种垃圾收集语言,而 Rust 项目则提倡 Rust 不是. AWS 工程师喜欢 Rust over Go,因为它在没有 GC 的情况下提供了效率。

“说到语言,是时候停止在 C/C++ 中启动任何新项目,并将 Rust 用于那些需要非 GC 语言的场景。为了安全性和可靠性。行业应该宣布这些语言已弃用,”鲁西诺维奇写道。

另外: 最流行的编程语言以及在哪里学习它们

Rust 是 C 和 C++ 的一个有前途的替代品,特别是对于系统级编程、基础设施项目、嵌入式软件开发等等——但不是无处不在,也不是在所有项目中。

事实上,Russinovich后来补充说:“有大量的 C/C++ 将被维护和发展数十年(或更长时间)。昨晚我为 Handle 编写了一个功能,添加到大约 85,000 行 Sysinternals C/C++ 代码我写过。也就是说,我会偏向 Rust 的新工具。

Rust 肯定在向前发展,很可能 很快就会出现在 Linux 内核中 。

AOSP 是一个 Linux 发行版,于 2021 年 4 月开始在新代码中使用 Rust,但保留了其 C/C++ 代码库。那个月,AOSP 还支持将 Rust 作为 Linux 内核中新代码的一个选项。

另外: Windows 11 22H2:这些是重要的新安全功能

Meta 最近将 Rust 推广为与 C++ 一起受支持的主要服务器端语言。AWS 投资 Rust用于基础设施软件。Azure 工程师已经使用它来构建云工具,用于在 Kubernetes 中测试 WebAssembly 模块。另一方面,Chrome 团队在可预见的未来与 C++紧密相连,尽管他们对 Rust 很感兴趣;他们说,多年来,简单地切换到 Rust并不能消除很大一部分安全漏洞。相反,Chrome 正在为其 C++ 代码库带来内存安全。

万象灵动岛App,专门为安卓手机打造的灵动岛,一共支持5种特效!

此外,不应将 Rust 视为开发人员在使用 C 或 C++ 编码时所养成的所有坏习惯的灵丹妙药。

GreyNoise Intelligence 的网络安全研究员 Bob Rudis 曾在 Rapid7 工作,他指出开发人员可以将同样的不良安全习惯带到 Rust。

“考虑到以任何速度使“真正的”C/C++ 项目变得安全-r 所需的(时间/金钱/人员/服务),我倾向于同意 [与 Russinovich]。话虽如此,也有可能带来同样的坏处Rust 的实践,”他写道。

ZDNet 的 Steven J. Vaughan-Nichols广泛同意 这种观点:

“正如其他人所说,您可以在 C 或 C++ 中“安全地”编写,但无论您使用哪种方言,这都比在 Rust 中要难得多。请注意,您仍然可以在 Rust 中破坏安全性,但它确实避免了很多旧的记忆问题。

你可能感兴趣的:(python,github,开发语言)