首页    新闻    小组    威客    人才    下载    博客    代码贴    在线编程    论坛
2024 年 Rust 社区调查报告
2025年2月17日 13:53 | 阅读 737 次

Rust 调查团队很高兴与大家分享我们关于 Rust 编程语言的2024 年调查结果,该调查于 2024 年 12 月 5 日至 2024 年 12 月 23 日进行。与往年一样,2024 年的 Rust 状态调查旨在收集 Rust 用户以及更广泛地关注 Rust 未来的所有人的见解和反馈。

这份调查的第九版揭示了来自全球 Rust 语言社区的全新见解和学习机会,以下我们将进行总结。除了这篇博客文章外,我们还准备了一份报告,其中包含了调查中所有问题的汇总结果图表。

我们对每一位在过去一年中抽出时间表达对Rust看法和体验的社区成员表示最诚挚的感谢。您的参与将帮助我们使Rust对每个人来说都变得更好。

下文包含了大量数据,所以请坐稳,享受阅读!

参与

如上图所示,2024年,我们收到的调查查看次数比上一年少。这可能是由于调查仅进行了两周,而上一年调查进行了近一个月。然而,完成率也有所下降,这似乎表明调查可能有点太长了。我们将考虑这一点,为下一次调查的版本进行调整。

社区

Rust 状态调查不仅为我们提供了关于世界各地有多少 Rust 用户在使用和体验该语言的宝贵见解,而且还让我们了解了我们全球社区的结构。这些信息让我们了解到语言的使用情况以及随着时间的推移,我们可能需要解决的接入差距。我们希望这些数据和我们的相关分析能进一步促进关于我们如何继续优先考虑 Rust 社区的全球接入和包容性的重要讨论。

与往年一样,我们询问了受访者他们居住在哪个国家。排名前十的国家依次是:美国(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 开发者进行这项调查。

同样地,像去年一样,大约31%的未将自己标识为Rust用户的人士将难度感知作为不使用Rust的主要原因。不使用Rust的最常见原因是受访者们还没有机会尝试它。

在参与2024年调查的前Rust用户中,36%的人士将不可控因素列为他们不再使用Rust的原因,这比去年下降了10个百分点。

今年,我们还询问受访者如果有机会,他们是否会考虑再次使用Rust,结果发现很大一部分受访者(63%)会这么做。这真是令人欣慰!

标记为N/A的封闭答案在调查的前一个版本中并未出现。

不再使用Rust的人告诉我们,这主要是因为他们实际上并不需要它(或他们公司的目标发生了变化),或者因为它不是这项工作的合适工具。少数人报告称,他们被这种语言或其生态系统整体所压倒,或者认为转向或引入Rust在人力成本上过于昂贵。

在2024年使用Rust的人中,有53%的人是每天(或几乎每天)使用它——比上一年增加了4个百分点。我们可以观察到,在过去的几年中,Rust的使用频率呈上升趋势,这表明Rust在工作场所的使用越来越多。这一点也由下文“Rust at Work”部分中提到的其他答案所证实。

Rust的专业技能在我们的受访者中也持续增长!20%的受访者能够编写(仅)简单的Rust程序(相比2023年下降了3个百分点),而53%的人认为自己使用Rust是高效的——这一比例在2023年为47%。虽然这项调查只是衡量Rust整体技能变化的一个工具,但这些数字令人鼓舞,因为它们代表了每年回归调查的许多Rustaceans的知识增长。

不出所料,最受欢迎的Rust版本是最新稳定版,无论是最新版本还是与用户的Linux发行版一起提供的版本。几乎三分之一的用户也使用最新的夜间版本,由于各种原因(见下文)。然而,似乎beta工具链的使用并不多,这有点遗憾。我们希望鼓励Rust用户更多地使用beta工具链(例如在CI环境中),以帮助测试即将稳定化的Rust版本。

人们使用夜间工具链主要是为了获取特定的不稳定语言功能。也有几位用户提到,他们对夜间版本的rustfmt更满意,或者他们使用夜间编译器是因为编译速度更快。

学习Rust

要使用Rust,程序员首先必须学习它,所以我们总是对他们是怎样学习的很感兴趣。根据调查结果,似乎大多数用户通过Rust文档以及《Rust编程语言》这本书来学习,这本书长期以来一直是新Rustaceans最喜欢的学习资源。许多人似乎也通过阅读Rust crate的源代码来学习。事实上,成千上万Rust crate的文档和源代码都可在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++。特别提一下使用“ed”的3个人,这真是一项了不起的成就。

您还可以查看词云,它总结了对此问题的开放性回答(“其他”类别),以了解其他哪些编辑器也受欢迎。

Rust在工作中的使用

我们很高兴看到越来越多的人在工作时使用Rust进行大部分编码,从去年的34%上升到38%。在过去几年中,这一指标呈现出明显的上升趋势。

Rust在公司中的使用似乎也在增加,因为45%的受访者表示他们的组织在Rust上的使用并非微不足道,这比2023年增加了7个百分点。

再次强调,我们调查受访者雇主投资Rust的首要原因是可以构建相对正确且无bug的软件。其次受欢迎的原因是Rust的性能特性。21%在工作中使用Rust的受访者这么做是因为他们已经熟悉它,因此它是他们的默认选择,比2023年增加了5个百分点。这似乎表明,Rust正成为越来越多公司选择的基础语言之一。

与上一年相似,很大比例的受访者(82%)报告说Rust帮助他们的公司实现了目标。总的来说,似乎程序员和公司对他们在Rust上的使用感到非常满意,这真是太好了!

在技术领域,情况与前一年相当相似。Rust似乎特别受欢迎,用于创建服务器后端、Web和网络服务以及云计算技术。它似乎也在嵌入式用例方面获得了更多的关注。

您可以向右滚动图表以查看更多领域。请注意,在2023年的调查中,汽车领域并未作为封闭答案提供(它只是通过开放式答案输入的),这或许可以解释为什么会有如此大的跳跃。

看到专业Rust使用的持续增长以及许多用户对其性能、控制、安全性、安全性、愉悦性等方面的信心,这令人兴奋!

挑战

正如往常一样,State of Rust调查的主要目标之一是揭示过去一年Rustaceans心中的挑战、担忧和优先事项。

我们询问了用户关于限制他们生产力的Rust方面。不出所料,缓慢的编译速度位列榜首,这似乎一直是Rust用户的永久性担忧。一如既往,有努力正在进行中以提高编译器的速度,例如启用并行前端或默认切换到更快的链接器。我们邀请您测试这些改进,并告诉我们如果您遇到任何问题。

其他挑战包括对Rust调试的支持不佳以及Rust编译器工件的高磁盘使用量。另一方面,大多数Rust用户似乎对它的运行时性能、编译器的正确性和稳定性以及Rust的文档都非常满意。

关于Rust用户希望稳定(或实现)的具体不稳定(或缺失)功能,最希望的是异步闭包和if/let while链。嗯,好消息是!异步闭包将在Rust的下一个版本(1.85)中稳定,而if/let while链有望在 Edition 2024发布后不久跟进很快之后,这次发布也将发生在Rust 1.85中。

其他备受渴望的功能包括生成器(同步和异步)以及更强大的泛型常量表达式。您可以关注Rust项目目标以跟踪这些(以及其他)功能的进展。

在对此问题的公开回答中,人们真的很有帮助,并尽力描述限制他们生产力的最显著问题。我们看到了关于异步编程(永恒的宠儿)的挑战,错误的可调试性(人们普遍喜欢,但并不适合每个人)或Rust工具缓慢或资源密集(rust-analyzer和rustfmt)的提及。一些用户还希望有更好的IDE故事和与其他语言的改进互操作性。

今年,我们还增加了一个关于Rust进化速度的新问题。虽然大多数人似乎对现状感到满意,但回答此问题的人中有超过四分之一的人希望Rust能够更快地稳定和/或添加新功能,只有7%的受访者希望Rust放慢或完全停止添加新功能。

有趣的是,当我们询问受访者关于他们对Rust未来发展的主要担忧时,其中一个最常提到的答案是担心Rust会变得过于复杂。这似乎与上一个问题的答案形成了对比。也许Rust用户仍然认为Rust的复杂性是可控的,但他们担心有一天它可能会变得过于复杂。

我们很高兴地看到,对Rust项目治理和Rust基金会支持不足的担忧在2023年下降了约6个百分点。

展望未来

每年,Rust状态调查的结果都有助于揭示Rust项目和生态系统中许多需要改进的领域,以及对我们社区运作良好的方面。

如果您对Rust年度调查有任何建议,请告诉我们!

我们非常感谢参与2024年Rust状态调查并帮助其创建的人们。虽然开发和维护一种编程语言总是伴随着挑战,但今年我们很高兴看到高水平的调查参与和坦率的反馈,这将真正帮助我们让Rust更好地服务于每个人。

(文/开源中国)    




评论 (0)
游客请输入验证码
最新评论
0
0
收藏