Sysinternals 作者:是时候停用 C/C++ 开发新项目并使用 Rust 了


Microsoft Azure CTO、Sysinternals 的主要开发者 Mark Russinovich 在其社交账号上发布动态称,开发人员是时候停止使用 C/C++ 来启动新项目,并建议可在需要使用 non-GC 语言的场景中使用 Rust。

“说到语言,现在是时候停止用 C/C++ 启动任何新项目了,并在那些需要使用 non-GC 语言的场景中使用 Rust。为了安全性和可靠性,业界应该宣布弃用这些语言。”

此言论一出,不可避免的引起了广泛地讨论。有人问这是他个人的观点,还是作为 CTO 的一个声明。.NET Foundation 成员 Shawn Wildermuth 则在评论区提出疑问,Rust 是否有足够的开发人员来推动工作的进行?对此则有开发者回复称,“想要舍下 C/C++ 确实非常困难,但这并不重要;年轻的开发者可以很快掌握 Rust,相较试图寻找有才华的 C/C++ 开发者,此举要容易得多”。

还有评论表示:

George Ou:我是 Rust 的忠实粉丝,但对于那些认为有安全版本的 C 和 C++ 的人,你怎么说?

Ted Mielczarek:要么他们在骗你,要么他们建议的东西需要有效地重写你的整个代码库,所以你最好使用 Rust。

而在反对的声音当中,一个ID 为 ionCube24 的用户称,Mark Russinovich 的意思更像是在责怪语言而不是程序员。但事实是“C++ 很好,只是很多使用它(和其他语言)的人基本上不知道如何编程;切换语言并不会解决这一问题。”

有人以自身实践举例表明,Rust 存在局限性,并不能解决他所有的问题。然而该网友的论点似乎有点站不住脚:

“它不必解决所有问题才能产生重大影响。”

“为什么要以 ‘解决所有的问题’ 为标准,它是否需要 '解决你所有的问题' 才能在编程中产生实质性的差异?在我看来,想要 '在所有新项目中使用它' 这个标准远比让 '它能解决所有已知问题' 要低得多。”

还有人则颇为“痛心”的感叹 Mark Russinovich 变了,不再“cool”了。也有相对理智的发声称,“或者更好的方式是:不要再过度的去宣传推广一种编程语言。不同的工具适合不同的问题。Rust 很好,但它不是所有编程问题的解决方案”。

更有甚者提出了自己认为更好的 C/C++ 替代方案,“当 GCed 系统语言可以接受时,也不会再有新的 C/C++ 项目。 Go、Nim 和 Crystal 都是比 C/C++ 更好的选择。还有 Zig,它正在做一些很酷的事情,但尚未像 Rust 那样成熟或流行。”

目前,Hacker News 和 Reddit 上也有相关的话题讨论。

Rust 最近确实有着较高的热度:

  • Linus Torvalds 透露,没有意外的话 Rust 将在 6.1 版本进入 Linux 内核
  • Cloudflare 放弃 Nginx,使用内部 Rust 编写的 Pingora
  • GStreamer 准备将 Rust 编写的插件作为其官方二进制版本的一部分发布
  • Rust 成立专门的安全团队
  • Asahi Linux 计划使用 Rust 编写 Apple 芯片的 GPU 驱动程序
  • GCC Rust 得到 GCC 批准,将被纳入主线代码库

相關推薦

2022-09-30

为开发新版 Rust 桌面环境,Pop!_OS 将跳过 22.10 版本 Sysinternals 作者:是时候停用 C/C++ 开发新项目并使用 Rust 了 GStreamer 将用 Rust 编写的插件与二进制版本一起提供 微软首席工程师:Rust 将面临十大挑战  

2022-10-13

C++ 开发新项目并使用 Rust 之后,Microsoft Azure CTO、Sysinternals 的主要开发者 Mark Russinovich 的一条吐槽 Git 的新社交动态又引起了广泛讨论。他表示: Git 又一次让我想拔掉我的头发。这是我使用过的所有软件中最

2022-09-22

Microsoft Azure CTO、Sysinternals 的主要开发者 Mark Russinovich 近日发表言论称,建议开发人员停止使用 C/C++ 来启动新项目,并建议可在需要使用 non-GC 语言的场景中使用 Rust。针对此言论,外媒 The Register 向微软进行

2023-04-24

、无锁编程等极大开阔我的视野, 可惜的是这个语言的作者大部分都是科学家,生态一般, 很难找到工作。 4. Elisp: 我写了18年Elisp代码, 刷了400+Emacs插件, 用中国人的话说就是, 无招胜有招, 什么模式设计, 什么数据结

2024-03-21

些言论进行了反驳。“我感到惊讶的是,这些政府文件的作者似乎对当代 C++ 的优势和提供强大安全保证的努力视而不见。另一方面,他们似乎已经意识到,编程语言只是工具链的一部分,因此改进工具和开发流程至关重要。”

2023-04-29

呼吁,开发人员应该更多的使用 Rust 而不是 C/C++ 来启动新项目。 另一方面,虽然用 Rust 重写 Windows 不会很快发生,但微软对 Rust 的支持或使开源社区受益。开源软件开发者、现任 Sentry 安全工程师 Armin Ronacher 认为,微软对

2023-02-03

在,如果我认为这些"安全"语言中的任何一种在我关心的使用范围内都比 C++ 优越,我就不会认为 C/C++ 的淡出是一件坏事,但事实并非如此。另外,正如所描述的那样,"安全"仅限于内存安全,而忽略了一种语言可能(并且将会

2022-12-16

并提出了新的同步设置方式。 在 v2022.3 发布后,我们将停用该产品。 自 2022 年 12 月 14 日起,我们将不再为 AppCode 销售新订阅或续订现有订阅。 所有有效订阅都将获得 v2022.3 的回滚许可证。 停用 AppCode 自 11 年前 AppCode 1

2023-02-17

于来自全球 7000+ 不同规模企业的数据;揭露了当今企业开发人员在将软件从设计到生产过程中最常用的软件包和二进制文件。报告评估的 Top 10 顶级软件技术(2021 年 10 月至 2022 年 10 月)包括: Docker:Repo 数量为 1,330,329,同

2023-08-24

置 soname 的版本后缀名称,xmake 会在编译、安装动态库的时候,自动生成符号链接,执行指定版本的动态库。 例如,如果我们配置: set_version("1.0.1", {soname = true}) xmake 会自动解析版本号的 major 版本作为 soname 版本,生成

2023-09-22

V 是一个集合了 Go 的简单和 Rust 的安全特性的静态语言,作者表示 V 与 Go 非常相似,如果你了解 Go,那么就已经了解 80% 的 V。V 在 Go 的基础上进行改进之处:https://vlang.io/compare#go。 V 主要特性 简单(作者声称可以在不

2022-10-12

和类型安全。Rust 越来越受欢迎的原因之一是 Google 开始使用 Rust 语言编写 Android 的 low level parts。” TIOBE 10 月 TOP 20 编程语言 前十榜单变化依旧不大,仅 PHP(10→9)和 SQL(9→10)进行了排名互换。与此同时,Rust 成功挤入了&

2022-12-06

码都转换成为 Rust,而是在新编写的代码中使用 Rust 语言开发。 通过将越来越多的 Rust 代码集成到其 Android 操作系统中,Google 在减少漏洞方面的努力最终是获得了回报。 Google 在公告中表示,"在过去几年/几个 Android 系统版本

2022-11-13

美国国家安全局(NSA)发布了一份指南,旨在帮助软件开发商和运营商预防和缓解软件内存安全问题。其鼓励组织将编程语言从 C 和 C++ 之类的语言转变为内存安全的替代语言——即 C#、Rust、Go、Java、Ruby 或 Swift,以保护代码免