Rustaceans 们,你们好!
Rust 调查团队很高兴分享我们关于 Rust 编程语言的 2024 年调查结果,本次调查于 2024 年 12 月 5 日至 2024 年 12 月 23 日期间进行。与往年一样,《2024 年 Rust 现状调查》的重点是收集来自 Rust 用户以及所有对 Rust 未来发展感兴趣的人士的见解和反馈。
第九版调查发掘了来自全球 Rust 语言社区的全新见解和学习机会,我们将在下文进行总结。除了这篇博文,我们还准备了一份报告,其中包含调查中所有问题的汇总结果图表。
衷心感谢每一位抽出时间表达他们过去一年对 Rust 的看法和体验的社区成员。你们的参与将帮助我们让 Rust 对每个人都更好。
有很多数据需要浏览,请系好安全带,尽情享受吧!
参与情况
调查 | 开始 | 完成 | 完成率 | 浏览量 |
---|---|---|---|---|
2023 | 11 950 | 9 710 | 82.2% | 16 028 |
2024 | 9 450 | 7 310 | 77.4% | 13 564 |
如上所示,2024 年,我们收到的调查浏览量少于上一年。这很可能是因为今年的调查只进行了两周,而去年则进行了近一个月。然而,完成率也有所下降,这似乎表明调查可能有点太长了。我们将在下一版调查中考虑这一点。
社区
Rust 现状调查不仅让我们出色地洞察了全球有多少 Rust 用户正在使用和体验这门语言,还让我们深入了解了全球社区的构成。这些信息让我们了解了这门语言的使用地点,以及可能存在的访问差距,以便我们随着时间的推移加以解决。我们希望这些数据和我们相关的分析有助于进一步开展关于如何继续优先考虑 Rust 社区的全球访问和包容性的重要讨论。
与往年一样,我们询问了受访者居住在哪个国家。排名前 10 位的国家(按顺序)是:美国 (22%)、德国 (14%)、英国 (6%)、法国 (6%)、中国 (5%)、加拿大 (3%)、荷兰 (3%)、俄罗斯 (3%)、澳大利亚 (2%) 和瑞典 (2%)。我们很高兴看到 Rust 受到来自世界各地用户的喜爱!您可以在下面的图表中尝试找到您的国家
我们还询问了受访者是否认为自己是边缘化社区的成员。在回答者中,74.5% 的人选择否,15.5% 的人选择是,10% 的人选择不愿透露。
我们询问了选择“是”的小组,他们认为自己是哪些特定群体的成员。在那些认为自己是技术领域中代表性不足或边缘化群体成员的人中,大多数人认为自己是女同性恋、男同性恋、双性恋或其他非异性恋。其次最常选择的选项是神经多样性,占 46%,其次是跨性别者,占 35%。
每年,我们都必须承认 Rust 社区和整个开源领域在多元化、公平性和包容性 (DEI) 方面存在的差距。我们相信 Rust 基金会在推进全球 Rust 社区聚会和每个周期向多元化的维护者群体分发资助金方面正在开展出色的工作,您可以在此处了解更多信息。即便如此,全球包容性和可访问性只是 DEI 的一个要素,调查工作组将继续倡导在这一领域取得进展。
Rust 使用情况
自称 Rust 用户的受访者数量与去年非常相似,约为 92%。这个高数字并不令人意外,因为我们的调查主要针对现有的 Rust 开发者。
与去年类似,在那些不认为自己是 Rust 用户的人中,约有 31% 的人认为难度是他们不使用 Rust 的主要原因。不使用 Rust 最常见的原因是受访者根本没有机会尝试。
在参与 2024 年调查的前 Rust 用户中,36% 的人将他们无法控制的因素列为不再使用 Rust 的原因,这比去年下降了 10 个百分点。今年,我们还询问了受访者,如果机会出现,他们是否会考虑再次使用 Rust,结果表明,很大一部分受访者(63%)会这样做。这真是个好消息!
标有 N/A 的封闭式回答在之前的调查版本中不存在。
那些不再使用 Rust 的人告诉我们,这是因为他们真的不需要它(或者他们公司的目标发生了变化),或者因为它不是适合这项工作的工具。有些人表示,他们被这种语言或其整个生态系统所淹没,或者切换到 Rust 或引入 Rust 在人力方面会过于昂贵。
在 2024 年使用 Rust 的人中,53% 的人每天(或几乎每天)都使用 Rust,比去年增加了 4 个百分点。我们可以观察到,在过去几年中,Rust 的使用频率呈上升趋势,这表明 Rust 在工作场所的使用越来越多。这一点也得到了下文“工作中的 Rust”部分中提到的其他答案的证实。
受访者的 Rust 专业知识也在不断提高!20% 的受访者可以编写(仅限)简单的 Rust 程序(比 2023 年下降了 3 个百分点),而 53% 的受访者认为自己可以高效地使用 Rust,高于 2023 年的 47%。虽然这项调查只是衡量 Rust 整体专业知识变化的一种工具,但这些数字令人鼓舞,因为它们代表了多年来再次参与调查的许多 Rustaceans 的知识增长。
毫不奇怪,最流行的 Rust 版本是最新稳定版,无论是最新版本还是用户 Linux 发行版附带的版本。由于各种原因(见下文),几乎三分之一的用户也使用最新的 nightly 版本。然而,beta 工具链似乎使用不多,这有点令人遗憾。我们希望鼓励 Rust 用户更多地使用 beta 工具链(例如在 CI 环境中),以帮助测试即将稳定的 Rust 版本。
人们使用 nightly 工具链主要是为了访问特定的不稳定语言特性。一些用户还提到,rustfmt 在 nightly 版本上对他们来说效果更好,或者他们使用 nightly 编译器是因为编译时间更快。
学习 Rust
要使用 Rust,程序员首先必须学习它,因此我们一直有兴趣了解他们是如何学习的。根据调查结果,大多数用户似乎通过 Rust 文档以及《Rust 程序设计语言》书籍来学习,这本书长期以来一直是新 Rustaceans 最喜欢的学习资源。许多人似乎也通过阅读 Rust crates 的源代码来学习。文档和数万个 Rust crates 的源代码都可以在docs.rs 和 GitHub 上找到,这使得学习更加容易。
就属于“其他”类别的答案而言,它们可以分为三类:使用 LLM(大型语言模型)助手(Copilot、ChatGPT、Claude 等)的人、阅读官方 Rust 论坛(Discord、URLO)的人,或者在为 Rust 项目做贡献时接受指导的人。我们要衷心感谢那些让我们的空间对新人友好和热情的人,因为这是一项重要的工作,而且会得到回报。有趣的是,相当多的人“在实践中学习”,并使用 rustc 错误消息和 clippy 作为指导,这很好地表明了 Rust 诊断的质量。
就正规教育而言,Rust 似乎尚未渗透到大学课程中,因为这通常是一个非常缓慢发展的领域。只有极少数受访者(约 3%)参加过大学 Rust 课程或使用过大学学习材料。
编程环境
就 Rustaceans 使用的操作系统而言,Linux 是最受欢迎的选择,而且似乎每年都越来越受欢迎。其次是 macOS 和 Windows,它们的使用份额非常相似。
正如您在词云中看到的那样,也有一些用户更喜欢 Arch,顺便说一句。
Rust 程序员使用他们的 Rust 程序面向各种平台。我们看到面向嵌入式和移动平台的用户略有增加,但其他平台的分布与去年基本相同。由于 WebAssembly 目标非常多样化,我们这次将其分为两个独立的类别。根据结果,很明显,当使用 WebAssembly 时,主要是在浏览器 (23%) 而不是其他用例 (7%) 的环境中。
我们当然不能忘记许多程序员最喜欢的话题:他们使用哪个 IDE(开发环境)。虽然 Visual Studio Code 仍然是最受欢迎的选择,但其份额今年下降了 5 个百分点。另一方面,Zed 编辑器最近似乎获得了相当大的吸引力。选择“其他”的少数人正在使用各种不同的工具:从 CursorAI 到 Kate 或 Notepad++ 等经典工具。特别提及 3 位使用 “ed” 的人,这真是了不起的成就。
您还可以查看链接的词云,其中总结了对此问题的开放式回答(“其他”类别),以了解还有哪些其他编辑器也很受欢迎。
工作中的 Rust
我们很高兴看到越来越多的人在工作中将 Rust 用于他们的大部分编码工作,今年为 38%,而去年为 34%。在过去几年中,这一指标呈现明显的上升趋势。
公司内部 Rust 的使用率似乎也在上升,因为 45% 的受访者回答说他们的组织对 Rust 进行了重要的使用,这比 2023 年增加了 7 个百分点。
再一次,我们的调查受访者的雇主投资 Rust 的首要原因是能够构建相对正确且无 bug 的软件。第二受欢迎的原因是 Rust 的性能特性。21% 在工作中使用 Rust 的受访者这样做是因为他们已经了解它,因此这是他们的默认选择,比 2023 年增加了 5 个百分点。这似乎表明 Rust 正在成为越来越多公司的首选基线语言之一。
与上一年类似,很大一部分受访者 (82%) 报告称 Rust 帮助他们的公司实现了目标。总的来说,程序员和公司似乎对他们对 Rust 的使用非常满意,这真是太好了!
在技术领域方面,情况与上一年非常相似。Rust 似乎特别受创建服务器后端、Web 和网络服务以及云技术的欢迎。它似乎也在嵌入式用例中获得越来越多的关注。
您可以向右滚动图表以查看更多领域。请注意,汽车领域在 2023 年的调查中未作为封闭式回答提供(它只是通过开放式回答输入),这可能解释了大幅增长。
令人兴奋的是,看到专业 Rust 使用的持续增长,以及如此多的用户对其性能、控制、安全性、可靠性、乐趣等方面的信心!
挑战
与往常一样,《Rust 现状调查》的主要目标之一是揭示 Rustaceans 过去一年中关注的挑战、担忧和优先事项。
我们询问了用户 Rust 的哪些方面限制了他们的生产力。或许不足为奇的是,编译速度慢位居榜首,因为这似乎是 Rust 用户长期以来的担忧。与往常一样,我们正在努力提高编译器速度,例如启用并行前端或默认切换到更快的链接器。我们邀请您测试这些改进,并告知我们您是否遇到任何问题。
其他挑战包括对 Rust 调试的支持不足以及 Rust 编译器工件的磁盘使用率过高。另一方面,大多数 Rust 用户似乎对其运行时性能、编译器的正确性和稳定性以及 Rust 的文档非常满意。
就 Rust 用户希望稳定化(或实现)的特定不稳定(或缺失)功能而言,最希望的功能是异步闭包和 if/let while 链。好吧,我们有好消息!异步闭包将在下一个 Rust 版本 (1.85) 中稳定化,一旦 Edition 2024 发布(也将在 Rust 1.85 中发布),if/let while 链有望紧随其后。
其他令人垂涎的功能是生成器(同步和异步)和更强大的通用 const 表达式。您可以关注Rust 项目目标来跟踪这些(和其他)功能的进展情况。
在这个问题的开放式回答中,人们非常乐于助人,并努力描述限制他们生产力的最显著问题。我们看到了关于异步编程(一直以来的最爱)、错误的可调试性(人们通常很喜欢,但对每个人来说都不是完美的)或 Rust 工具速度慢或资源密集型(rust-analyzer 和 rustfmt)的提及。一些用户还希望 IDE 故事更好,并改进与其他语言的互操作性。
今年,我们还增加了一个关于 Rust 发展速度的新问题。虽然大多数人似乎对现状感到满意,但超过四分之一的回答这个问题的人希望 Rust 更快地稳定和/或添加功能,只有 7% 的受访者希望 Rust 减速或完全停止添加新功能。
有趣的是,当我们询问受访者他们对 Rust 未来最主要的担忧时,最主要的答案之一仍然是担心 Rust 会变得过于复杂。这似乎与前一个问题的答案形成对比。或许 Rust 用户仍然认为 Rust 的复杂性是可控的,但他们担心有一天它可能会变得太复杂。
我们很高兴看到,与 2023 年相比,担心 Rust 项目治理和缺乏 Rust 基金会支持的受访者数量减少了约 6 个百分点。
展望未来
每年,《Rust 现状调查》的结果都有助于揭示 Rust 项目和生态系统中许多需要改进的领域,以及对我们的社区运作良好的方面。
如果您对 Rust 年度调查有任何建议,请告诉我们!
我们非常感谢那些参与 2024 年 Rust 现状调查并促进其创建的人们。虽然在开发和维护编程语言方面总是存在挑战,但今年我们很高兴看到高水平的调查参与度和坦诚的反馈,这将真正帮助我们使 Rust 对每个人都更好。
如果您想深入了解更多细节,我们建议您浏览完整的调查报告。