出品|开源中国
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 批准,将被纳入主线代码库
领取专属 10元无门槛券
私享最新 技术干货