前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >呼吁停用 C/C++,微软 Azure CTO 更青睐 Rust

呼吁停用 C/C++,微软 Azure CTO 更青睐 Rust

作者头像
IT大咖说
发布2022-09-27 16:14:04
7080
发布2022-09-27 16:14:04
举报
文章被收录于专栏:IT大咖说

9 月 20 日,微软 Azure 现任 CTO、Sysinternals 主要开发者 Mark Russinovich 在其个人推特账号发表动态称是时候停止使用 C/C++启动任何新项目,并建议在需要使用 noc-GC 语言的场景下使用 Rust 编程语言。

Rust 由 Graydon Hoare 设计,而后在 Mozilla 成型,Rust 设计时借鉴了许多 C++ 的设计思想如并发特性等,也以高性能著称,还实现了内存安全。2015 年 Rust 作为 C/C++ 的替代品开始引起人们的关注,正因如此,Rust 也经常被拿来与 C++ 进行比较,开发者也经常因为 Rust 还是 C++ 更好而争论。

Mark Russinovich 此番言论一出,也是在技术圈引起大量讨论。

◆ Mark Russinovich 圈内地位

不同于从小就热衷于计算机的其他技术大牛,Mark Russinovich 15 岁才开始对编程很感兴趣,随后在卡内基·梅隆大学获得计算机工程博士学位。加入微软之前,Mark Russinovich 先是做着 Windows NT 性能监控软件的开发工作,随后与 Bryce Cogswell 共同创办了 Winternals Software 公司并一起开发了数十款流行的 Windows 管理和诊断实用程序,这其中就包括著名的系统工具 Sysinternals。

2006 年微软收购了 Winternals Software 公司,Mark Russinovich 也随即加入微软,帮助提升 Windows 的技术水平。在微软,Mark Russinovich 开发了非常多的系统工具,比如 winobj、sysmon、diskmon 和进程监视器,同时他还著有被称为 BSD 红皮书的《Windows Internals》,此外,Mark Russinovich 还精通逆向工程,震惊世界的索尼BMG光盘复制保护丑闻就是他发现的。

也因如此,不少开发者认为像他这样的大佬不应该参与到这种哪个编程语言更好的争论之中。

◆ 大厂对 Rust 的态度

尽管作为微软 Azure 的 Mark Russinovich 表示自己发表的只是个人意见,但其实微软对 Rust 的态度已经很明朗。不仅仅是作为 Rust 基金会的创始人,早在 2019 年,微软就开始使用 Rust 重写 Windows 组件。当时微软表示,其产品 70% 的安全漏洞都是内存安全问题,他们需要更安全的系统编程语言,毫无疑问,Rust 是最好的选择,Rust 编译器提供的内存和数据安全给微软的开发者提供了很大的帮助。

微软在官方文档中提到,他们选择 Rust 作为 Windows 最新的程序设计语言,另一个因素就是 Rust 在 Stack Overflow 开发者报告中已经连续 7 年成为最受开发者欢迎的编程语言。

得益于内存安全,Rust 备受青睐,不止微软,Rust 已经在其他科技大厂如苹果、亚马逊、谷歌、Linux 开发中广泛应用。Meta 还将 Rust 列为开发人员首选语言名单。

众所周知,Linux 之父 Linus Torvalds 对 Rust 也有独特的 Rust 的偏爱,Rust 目前已经成为 Linux 的第二编程语言,目前 Linux 的内核正在使用的 C 语言相比,Rust 最大的优点在于内存安全。

在 9 月 19 日结束的内核维护者峰会上,Linus Torvalds 接受媒体采访时说道,“如果不出意外,Rust 将出现在 Linux 6.1 内核之中”。Torvalds 还表示,除了内存安全的因素,他希望在内核中看到 Rust 的另一个原因是鼓励新的开发人员开始研究内核。

Linux 已迭代至 6.0,目前 Rust 进入内核的主要问题是编译器,现在的内核通常使用 GCC 编译,但 Rust 通常使用 LLVM 编译器进行编译。

◆ C++ 之父回应

对于 Mark Russinovich 的言论,外媒 The Register 邀请 C++ 之父 Bjarne Stroustrup 进行了回应。

“人们总是迷恋那些看似能让他们生活更轻松的新事物,这点在企业高管上尤其明显。此外,支持新事物远比解决旧工具的已知问题更令人兴奋。不幸的是,新语言通常需要多年时间和重大努力才能在其广泛的应用领域与成熟语言相匹配。但大多数开发者看不到这一点,而且他们喜欢发表片面的评论。”

Bjarne Stroustru 还表示:”在许多情况下,安全性至关重要,这也是我们多年来一直致力于提高 C++ 安全性的原因。我们现在已经在 ISO C++ 中实现了可靠的完美类型与内存安全。具体来说,我们消除了空指针问题,能够捕捉范围错误,消除了数据争用等。此外需要注意的是,包括 Rust 在内,任何一种号称安全的语言都可能存在不安全代码的漏洞。“

Bjarne Stroustru 最后还补充道:“直接替换 C++ 代码,或者让它们变得更加安全都是一项非常艰巨的任务,需要逐步慢慢的才能做到这一点。否则大量不安全的 C++ 代码将会永远存在。”

◆ 开发者的不同声音

不少开发者许多开发者都对 Rust 的过度宣传感到反感,并表示不同的工具适合不同的问题,不要再过度宣传某一种编程语言。Rust 很好,但它不是所有问题的解决方案。

Rust 与 C/C++ 这一次的对比同样少不了网友的调侃,其中就有开发者表示:“在过去的三十年里,每隔五年 C/C++ 会被宣布一次死亡”。

也有开发者认为 C/C++ 只是工具,批评 C/C++ 不如 Rust 安全是不负责任的,程序是否安全应该问责开发者,通过更换编程语言并不能解决程序代码不安全的问题。

确实像这位开发者所言,Rust 本身并不能保证软件是安全的,它提供了针对内存安全漏洞的防御,但并不能消除其他类别的漏洞。正如 Rust 官方文档解释的那样,“Rust 包含安全和不安全的编程语言”,开发人员可以选择为某些任务编写不安全的 Rust,他们可能会在无意中创建不安全的代码。

抛开这些调侃,尽管不少大厂都在扶持 Rust,但在许多开发者眼中,一方面他们更关注 Rust 有没有在更多的产品中得到应用和发展,另一方面 Rust 过于陡峭的学习曲线也给开发者带来了困扰,从学习 Rust 到具备实际生产力需要一定的时间,这也是不少开发者抗拒 Rust 的原因。

参考链接:

https://www.zdnet.com/article/linus-torvalds-rust-will-go-into-linux-6-1/

https://www.theregister.com/2022/09/20/rust_microsoft_c/

来源:

https://www.toutiao.com/article/7145790620836037154/?log_from=4d728b56a1861_1664163462741

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com

来都来了,走啥走,留个言呗~

 IT大咖说  |  关于版权

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ◆ Mark Russinovich 圈内地位
  • ◆ 大厂对 Rust 的态度
  • ◆ C++ 之父回应
  • ◆ 开发者的不同声音
相关产品与服务
云数据库 Redis®
腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档