Rust 是编程的未来吗?
Rust 作为发展最快的编程语言,正在改写现代软件开发的规则。 它的顶尖性能、无需垃圾回收的内存安全以及并发能力正吸引着全球开发者的关注。 根据我们的数据,过去 12 个月中有 226.7 万名开发者使用 Rust,70.9 万名开发者将 Rust 作为主要语言,表明 Rust 在编程界的影响力正在迅速扩大。 不过,是什么推动了它的崛起呢? 它准备好取代 C++ 了吗?
去年的《开发者生态系统现状调查》揭示了一些振奋人心的趋势:Rust 是唯一创下新使用记录的语言,每 6 名 Go 开发者中就有 1 名考虑转用 Rust。 下面我们将分析这些洞察,探索 Rust 的未来,并揭示开发者为什么使用 Rust 来应对当今最严峻的软件挑战。
您使用 Rust 做什么?
2024 年,虽然个人和编外项目仍然是重要的用例,但开发者愈发意识到 Rust 在面向职业和企业的解决方案中的吸引力。
“对我来说,最显著的变化是 Rust 在工作中的使用大幅增加。 从 2021 年到 2024 年,在商业用途中使用 Rust 的 Rust 开发者比例增加了 68.75%。 随着 Rust 开发者数量的增加,整个行业也产生了复合效应。
对我来说特别有趣的是 Rust 被业界采用的速度会有这么快。 根据 2018 年的《JetBrains 开发者调查》,当年只有 2% 的开发者使用过 Rust。 2018 年距离现在不过 6 年。
我们现在的情况是,所有 Python 和 JavaScript 开发者都通过高知名度的项目(包括 uv 和 turbopack)接触到了 Rust,并提升了工作效率。
随着 Rust 在行业中的采用率越来越高,它在业余爱好项目中的使用率有所下降也是自然而然的。 人们不会想在空闲时间使用工作时使用的语言。”

您使用 Rust 多久了?
Rust 的社区依然充满活力,不断有新开发者加入,为其发展做出贡献。 新人与资深用户之间的平衡有利于生态系统的长期健康发展。
“专家们友好热心的态度让 Rust 的入门流程非常愉快。 所以,在向专家转型的过程中,我们应该继续保持!”

使用 Rust 工作的用户的编码经验
Rust 很少是开发者的第一门编程语言,因为大多数 Rust 专业人员来自不同的编码背景,拥有丰富的经验。 采用 Rust 的成熟开发者越来越多,这反映了它在复杂系统中的可靠性和稳健性,它也因此是从其他语言过渡的成熟专业人员的理想选择。
“Rust 越来越简单了,你可能用上好久都不会看到一个生存期。 我仍然不推荐大多数人把它作为“第一门”语言,但我会用它取代 C 和 C++ 的第一语言课程。
Rust 的语法在初学时仍然有些困难,但与我交谈过的每个人,只要过了“哇,这不一样”的阶段,都会喜欢上它的大部分语法。
Rust 的一大优势在于它是多范式的,每个人都能轻松上手。”

使用 Rust 工作的十大行业领域
Rust 在云计算、数据分析、AI 和嵌入式系统等多个高需求、创新驱动型领域蓬勃发展。 在需要高性能和系统可靠性的领域的采用率反映了语言的优势。
“Rust 是 AI 竞赛中的一匹黑马。 它不是研究人员和数据科学家选择的语言,但它为训练越来越大的模型所需的大量基础架构提供着支持。”

在专业人员中与 Rust 同时使用的语言
数据显示,Rust 很少被单独使用,2024 年仅使用 Rust 的开发者比例大幅下降。 Rust 越来越多地融入多语言环境,其中 Python 和 JavaScript/TypeScript 是 2024 年最常见的伴侣。 在开发者管理全栈或基础架构密集型项目时,Shell 脚本语言和 SQL 也与 Rust 一起被广泛采用。
有趣的是,C++ 和 C 等低级语言与 Rust 的并用情况依然很好,这可能是因为它们在系统级编程领域的重叠。 不过,Python 和 JavaScript/TypeScript 使用量的增加表明,Rust 在传统系统领域之外的更广泛应用环境中发挥着越来越大的作用。
“我教授《面向 C 或 C++ 用户的 Rust》”时,从未遇到过成功的“放弃多年的 C 语言并全部重写”的项目。就算你有一门出色的目标语言,叉车式升级也很糟糕。 它们预计将长期共存 –“能用就别动”这种心态并不坏。移植经过实战检验的代码还不如确保新代码配有更好的装甲!”

您是从哪种语言迁移过来的?
相当一部分开发者并没有直接使用 Rust 替换其他编程语言,这表明许多人是将其作为一种补充技术,而非严格的替代者。
在从特定语言迁移过来的开发者中,2024 年 C++ 仍然是最常被替换的语言,这反映出 Rust 的定位是传统系统级工具更安全、更现代的替代者。 其他值得一提的语言包括 Python、C 和 Go,这表明了 Rust 在从脚本到系统编程等多个领域中的竞争力。
“Rust 越来越自成一体。 我想知道有多少人把 Rust 作为自己的第一门编程语言?”

您使用哪款(哪些)IDE 或编辑器进行 Rust 开发?
Rust 社区显然偏爱现代轻量级 IDE 和编辑器,其中 Visual Studio Code 稳居榜首。 这与它在各行各业的广泛流行以及通过 rust-analyzer 等扩展程序对 Rust 的支持相符。
有趣的是,专为 Rust 打造的 JetBrains IDE RustRover 于 2024 年首次亮相,并立即在社区中获得关注,这反映出对专用工具的需求日益增长。 Vim 和 IntelliJ IDEA Ultimate 等传统选择对于偏好可定制或全功能 IDE 的用户来说仍然很有价值。
相比之下,Eclipse 和 Sublime Text 等工具的采用率最低,这强调了向优先考虑 Rust 特定功能的编辑器和 IDE 的转变。
“生存期可视化这样的功能真是大救星! 我立刻安装了 RustRover,因为我习惯了其他 JetBrains 环境,但 VS Code 也是个不错的选择。 Rust-analyzer 是非常出色的语言服务器!”

Rust 代码如何与您的代码的其他部分交互?
Rust 具有强大的互操作性,因此适合与使用其他语言编写的代码库集成。 REST API 的采用率最高,是最常见的集成方法,这反映了 Rust 在 Web 开发和后端服务中的应用。 语言互操作性(通过外部函数)也占比很高,表明 Rust 经常与 C 和 C++ 等系统编程语言一起使用。
WebAssembly/WASI 等新兴技术展现了 Rust 如何满足现代可移植计算需求。 同时,RPC 也有采用,特别是在需要高性能通信的分布式系统中。
“与其他语言的互操作性对于 Rust 在业界的采用至关重要,尤其是在棕地项目中。 网络、FFI、WASM – 你可以选择最适合你的用例的方案,最大限度地减少摩擦。”

您通常如何调试 Rust 代码?
Rust 开发者高度依赖简单实用的调试工具。 大多数开发者更喜欢使用 println!
和 dbg!
宏,指向一种轻量级的直接程序行为跟踪方式,特别是在开发早期阶段。 IDE 中的 UI 调试也得到广泛采用,反映出专为 Rust 量身定制的开发工具日趋成熟。
从事底层系统项目的开发者可能会使用更传统的基于控制台的调试器,例如 gdb
或 lldb
。 值得注意的是,只有 4% 的受访者完全避免调试,这表明大多数开发者积极依赖强大的调试做法来应对 Rust 严格的编译时保证。
“我用的是 println! 调试器。只有实在卡住,我才会使用 IDE 调试器。”

您使用哪款(哪些)Rust 分析工具(如果有)?
在 Rust 生态系统中,分析仍然是一个未被充分利用的领域,70% 的开发者表示没有使用任何分析工具。 在使用分析工具的开发者中,IDE 捆绑的分析器最常见,开发者更倾向于使用与开发环境紧密集成的工具。 perf、gprof 和 Callgrind/Cachegrind 这样的低级分析器的采用率较低,主要由从事性能关键型系统项目的开发者使用。
“日常使用 Rust 时,分析仍然是一个痛点。 传统分析工具的用户体验远非最佳,所以很高兴看到 IDE 能够填补这一空白。”

您使用 Rust 开发哪种(哪些)类型的项目?
Rust 在系统和网络编程等传统领域蓬勃发展,但也越来越多涉足 Web、桌面应用程序,以及嵌入式系统、机器学习和区块链等新领域。
“每个生态系统关注 Rust 的原因都不相同。 基础架构节省和正确性有助于 Rust 在云原生世界中立足,可移植性提升了它在 CLI 上的使用率,而内存安全则推动了它在系统编程中的采用。
它是真正的通用编程语言。”

您为什么开始使用 Rust?
Rust 兼具安全性、性能和学习现代语言的挑战,因此吸引了大量开发者。 此外,Rust 作为业界重要语言的地位日益得到认可,这也促使开发者出于职业发展采用 Rust。
“我之前被一个无法正常运作的 C++ 项目搞得焦头烂额,所以我想看看其他人都在用什么好东西!”

您使用以下哪种(哪些)资源学习 Rust?
由于 Rust 的复杂性,它的官方文档是学习语言的基石,通常还会辅以书籍和其他在线资源。 由于缺乏广泛的正式培训或雇主提供的培训,Rust 的采用主要依靠自主引导和社区驱动。
阅读如何学习 Rust 这篇博文来帮助您入门。
“有一点是肯定的 – Rust 的入门学习资源绝对丰富!
中级和高级主题方面可能还有待补充,但情况每年都在改善。”

Rust 在 2024 年的演变表明,它作为现代软件开发基础语言的地位日益提升。 从专业环境中不断增加的采用率,到系统编程、Web 开发和嵌入式系统等多个行业中的广泛应用,这都表明 Rust 已不再仅仅是一门系统语言,而是一股由社区驱动的强势潮流。 Rust 的安全性、性能和现代化功能受到开发者的青睐,新手和经验丰富的专业人士都在采用。
虽然 Rust 仍然存在工具缺口和学习曲线陡峭等挑战,但这门语言充满活力的社区和强大的生态系统将继续推动其发展。 在充满热情的开发者和实际成功的推动下,Rust 正在塑造软件工程的未来,并为更安全、更快速、更可扩缩的解决方案铺平道路。 Rust 的未来一片光明,其发展势头丝毫没有放缓的迹象。
本博文英文原作者: