打开网易新闻 查看精彩图片

【CSDN 编者按】在技术社区中,编程语言的选择往往不仅仅是基于技术优劣的考量,更涉及到职业发展、市场需求以及个人偏好等多方面因素。本文作者分享了从 Rust 回归 C++ 的心路历程,指出了尽管 Rust 在设计上拥有诸多优势——如更好的工具支持、丰富的库生态以及严格的内存安全机制,但在实际就业市场上的采用率和行业影响力却相对有限。作者通过个人经历反思了 Rust 与 C++ 之间的抉择,并对 Rust 未来的发展提出了自己的看法。

作者 | I_pretend_2_know(Reddit ID) 编译 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

在我三年的 Rust 编程生涯中,我做过异步/多线程编程、通过 bindgen 使用 FFI、在没有 std 的情况下进行内核编程……这些都很有趣。但现在这种乐趣已经结束:一个月前,我开始了一份 C++ 的工作。

打开网易新闻 查看精彩图片

(CSDN付费下载自视觉中国)

打开网易新闻 查看精彩图片

Rust 没有获得足够的普及度

从我的个人体验来看,Rust 确实比 C++ 更优秀。它有更好的工具(cargo)、更完善的库生态系统(crates.io),还去掉了很多繁琐无用的东西(没有面向对象,没有异常处理,内存管理更严格等),并要求你以正确的方式做事。

但 Rust 的好,就像 Betamax 之于 VHS、Mastodon 之于 Twitter、Dvorak 键盘之于 QWERTY、世界语之于英语,以及 Lua 之于 JavaScript 一样:在通信技术中,采用率和关键用户群占了 90% 的比重,剩下的 10% 才是技术细节,最多也只是各抒己见。而编程语言是一种沟通技术,是一种向其他开发者传达想法的工具。

Rust 的问题在于,它没有获得足够的普及度——说实话,我觉得它永远也不会有。最近,Linus Torvalds 在某处抱怨说,许多掌握 C 语言的“老古董”根本不愿意学 Rust。对于更高层次的应用(比如 Web 后端),Go 提供了比 Rust 更快的迭代周期,因为它的学习曲线更平缓,编译时间也更短。虽然 Rust 的采用率在上升,但竞争技术也在不断进步(例如:更安全的 C++ 和更强的 lint 工具,JIT 编译的 JavaScript 和 WASM 引擎变得更快),甚至有些技术发展得更快(比如 Go)。

打开网易新闻 查看精彩图片

掌握 Rust,对找工作几乎没有帮助?

然后,我们还要面对一个显而易见的事实:掌握 Rust 对找工作几乎没有帮助。大多数要求 Rust 编程技能的工作,都要求在某些专业领域有深厚的知识:如加密货币/区块链、金融交易、机器学习/数据分析、冷门网络协议、网络安全等等。在这些职位上,精通 Rust 最多只是一个“加分项”——我的意思是:如果你被这类岗位录取,绝不是因为你精通 Rust,而是因为你对相关领域有着深入了解。

甚至在 Reddit 里,名为“self.rust”的子版块也凸显了这个问题。我发现在其他编程语言的子版块(例如 Golang、C++)中,招聘信息总是会被置顶。而在 Rust 的子版块中我却很少看到这种情况,就好像“关于 Rust 工作的第一条规则就是不要谈论 Rust 工作”。

有很多技术由于未能获得广泛接受而最终被遗弃,其中很多比 Rust 更具革命性(例如 Lisp、Smalltalk),而我不认为 Rust 能够避免这样的命运。

值得一提的是:编程语言的进步背后往往有大公司的支持。例如,IBM 推动了 FORTRAN,AT&T 推动了 C 语言,微软推动了 MS-Basic 和 C#,Sun 推动了 Java,谷歌推动了 Python,苹果推动了 Objective-C 和 Swift,Web 浏览器推动了 JavaScript,大部分大公司都推动了 C++——然而,我看不到有多少强有力的赞助商在背后支持 Rust,并推动其客户采用。

打开网易新闻 查看精彩图片

网友热议,多数人看好 Rust 的发展

这篇帖子在 Reddit 上引起了广泛热议,其中大多数网友并不认可本文作者的说法:

  • “跟你完全不同,我们在 AWS 的每个新项目都要求使用 Rust,而之前这些项目都是用 C++ 编写的。”

  • 微软也是如此。现在在虚拟机托管节点上运行的所有新服务都必须使用 Rust,这是一项自上而下的规定。”

  • “我不是 Rust 的粉丝,但是...谷歌、微软、亚马逊等公司都在谈论和推动 Rust,从某种意义上说,他们都在使用 Rust,Rust 也确实不错。Rust 虽然是一种新技术,但我相信它有足够的动力达到你所说的普及度。”

  • “没有人能预见未来,但我不同意你对 Rust 的悲观看法,原因有以下几点:首先,有大公司在推动 Rust 的应用,例如谷歌、微软、亚马逊等。甚至连美国政府都建议用内存安全语言(Rust 是主要的替代语言)取代 C 和 C++。其次,C++ 已有近 40 年历史。Rust 甚至还不到 10 岁。采用率的提升需要时间,而且 C++ 一开始也不是很流行。“

那么,你对于这个话题又有什么看法呢?

秉承“全球专家、卓越智慧”的理念,由 CSDN&Boolan 举办的「2024 全球C++及系统软件技术大会」将于 12 月 5-6 日在上海虹桥万豪大酒店正式展开。大会由 C++ 之父、ACM 和 IEEE 院士 Bjarne Stroustrup 领衔,联合来自英伟达、阿里巴巴、字节跳动、腾讯、百度和 B 站等顶尖企业的技术专家,通过主题演讲、案例剖析与技术交流,分享行业洞见和实践经验,推动技术创新与落地应用。