又到了我们通过向广大社区(包括 Rust 用户和非用户)征求意见,来全面了解现状的时候了。哇,你们的回应真是太棒了!
今年我们收到了 **5,368 份回复**。这比去年的回复数量多了 2,000 多份!
反馈的规模既令人鼓舞,又令人谦卑,我们已经努力阅读了所有评论和建议。人们分享了许多有用的想法和经验,我们真的非常感谢。话不多说,让我们来看看吧。
正如我们去年看到的那样,三分之二的回复来自 Rust 用户,其余来自非用户。今年,我们将“不使用 Rust”的选项分开,以区分那些曾经使用过 Rust 但已停止使用的人和从未使用过 Rust 的人。看到如此多的开发者愿意帮助我们改进 Rust(即使他们不使用它!),以便它能够触及更多人,这真是令人鼓舞。
我们将在本报告的后面部分详细讨论 Rust 非用户,但首先让我们看看 Rust 用户的回复。
使用 Rust
(悬停以获取更多信息)
今年,我们看到越来越多的经验丰富的用户坚持使用 Rust,其中“超过一年”的用户群增长到超过 42%(比去年增长了 30%)。初学者也相当庞大,其中“少于一个月”的用户群约为 18%,这意味着我们目前每月吸引了近五分之一的用户群规模,即使用户群规模不断扩大。
(悬停以获取更多信息)
人们正在使用越来越多的 Rust 代码,其中中等规模和大型规模的代码行总数自去年以来几乎翻了一番,现在占受访者的 16%(比去年的 8.9% 增长)。这表明人们越来越有兴趣在越来越大的项目中使用 Rust,以及对支持这种增长的工具的需求越来越大。
尽管开发者正在使用的代码量不断增加,但我们看到每日和每周用户的数量略有下降。每日用户从 19% 下降到 17.5%,每周用户从 48.8% 下降到 43.3%。这可能是我们发展阶段的自然转变,因为越来越多的开发者开始使用 Rust。
走向稳定
在过去的一年里,我们在编译器发布导致的代码中断方面取得了重大进展。去年,16.2% 的受访者表示升级到新的稳定版 Rust 编译器会导致他们的代码中断。今年,这一数字 **下降到 7.5%**。这是一个巨大的进步,我们对此感到自豪,但我们将继续努力将这一数字进一步降低。
开发者大多选择迁移到 nightly 或最近的稳定版(部分开发者使用 beta 版),这表明开发者渴望升级并快速升级。这简化了去年的支持结构,当时开发者使用的是更广泛的版本。
稳定版用户现在占 Rust 用户的 77.9%。不幸的是,尽管我们在过程宏和帮助将 Serde 等库迁移到稳定版方面付出了努力,但我们仍然需要做更多工作来鼓励人们从 nightly Rust 编译器迁移。今年的数据显示,nightly 用户数量有所增加,现在有 1,852 票,占受访者的 51.6%,比去年的 48.8% 有所上升。
我们如何使用 Rust
(悬停以获取更多信息)
Rust 工具中的一大成功案例是 rustup,Rust 工具链安装程序。去年,我们看到人们安装 Rust 的方式多种多样。今年,许多人已经迁移到使用 rustup 作为安装 Rust 的主要方式,总共有 3,205 份回复,从去年的 52.8% 上升到 **90.2%**。
Linux 仍然是 Rust 开发者选择的主要平台之一。值得注意的是,我们还看到 Windows 作为开发者平台的使用率有所上升,在 3,588 名受访者中,有 1,130 名受访者使用 Windows,占 **31.5%**,比去年的 27.6% 有所上升。
接下来,我们询问了人们使用 Rust 项目的目标平台。虽然我们在这里看到了类似的桌面操作系统比例,但我们也看到了越来越多的其他目标平台。Android 和 iOS 分别占 9.9% 和 5.3%,都比去年的百分比 **高出近 10 倍**。自去年仅为个位数的百分比以来,嵌入式系统也取得了大幅增长。总的来说,交叉编译自去年同期以来有了相当大的增长。
在编辑器方面,vim 仍然是王者,但我们看到 VSCode 的采用率健康增长,达到 34.1%(比去年的 3.8% 有所上升)。这种增长无疑得益于 VSCode 是首批支持 Rust 语言服务器 的平台之一。
(悬停以获取更多信息)
Rust 在工作场所的使用也持续增长。今年 **4.4% 的全职** 和 **16.6% 的兼职** Rust 工作者表明,与去年的 3.7% 全职和 16.1% 兼职相比有所上升。
在公司 **兼职** 使用 Rust 的用户中,自去年以来,大型项目的比例有所上升,中等规模和大型规模的项目在总项目中所占的比例更大。
同样,**全职** Rust 商业用户也看到中等规模和大型规模的项目所占比例更大,超过 100,000 行代码的项目占所有全职商业受访者的近 18%,并且 10,000-100,000 行代码范围内的项目从 39.7% 上升到 **52.6%**。
感觉受欢迎
(悬停以获取更多信息)
Rust 社区的一个重要组成部分是,对新用户(无论是当前用户还是未来的潜在用户)都表示欢迎。我们很高兴看到超过四分之三的受访者表示他们在 Rust 社区中感觉受欢迎,23.6% 的受访者表示不确定。
受访者的构成与去年基本相同。多样性和包容性仍然是 Rust 项目在所有层面的重要目标。Rust Bridge 计划旨在实现入门级别的多样性。今年推出的 Rust Reach 项目,汇集了来自 Rust 世界中代表性不足人群的广泛专业知识,并将他们与 Rust 团队成员配对,使 Rust 更容易被更广泛的受众所接受。
停止使用 Rust
今年新增加的是,我们将停止使用 Rust 的人与从未使用过 Rust 的人分开,以便更好地了解他们停止使用 Rust 的原因。让我们首先看看他们停止使用 Rust 的时间。
(悬停以获取更多信息)
我们在这里遇到的第一个惊喜是人们尝试 Rust 的时间之长。我们最初的直觉是,如果 Rust 不适合他们或他们的项目,人们会在第一天或可能第一周就放弃使用 Rust。相反,我们看到的是,人们平均尝试 Rust 的时间比这长得多。
停止使用 Rust 的原因
- 23% 的人回答说 Rust **太难用了**。
- 20% 的人回答说他们 **没有足够的时间** 来有效地学习和使用 Rust。
- 10% 的人回答说 **工具还不够成熟**。
- 5% 的人回答说他们需要 **更好的 IDE 支持**。
- 其余的用户提到了需要 **在工作中支持 Rust**,他们已经 **完成了** 需要使用 Rust 的 **项目**,被 **Rust 的语法** 吓退了,**想不出要构建的项目**,或者与 **Rust 社区互动不佳**。
不使用 Rust
虽然学习曲线和语言复杂性仍然是阻止人们学习 Rust 的因素,但许多人认同的一点是,Rust 中没有足够的活跃商业项目供人们参与。对于一些人来说,如果有一个强烈的动机,他们就可以克服学习曲线。
改进领域
最后,在调查结束时,我们提供了一个自由格式的区域,让大家谈谈 Rust 可以改进的地方。在我们开始讨论我们看到的主题之前,我们想对所有发布了有见地的评论的人表示衷心的感谢!有很多很多好主意,我们将把它们提供给各自的子团队,以便在未来的规划中使用。有了这些,让我们看看今年重要的主题。
- 17% 的回复强调了需要 **提高语言的可用性**。人们提出了许多关于如何改进 Rust 以便于日常使用的建议,例如更容易进行原型设计,更轻松地使用异步编程,以及对更多数据结构类型更加灵活。和以前一样,对借用检查器以及如何使用生命周期的更轻松、更流畅的体验的需求是一个普遍的要求。
- 16% 的回复谈到了创建 **更好的文档** 的重要性。这些内容涵盖了从帮助用户从其他语言过渡到 Rust,创建更多示例和示例项目,帮助人们开始使用各种任务或板条箱,以及创建视频资源来促进学习等主题。
- 15% 的回复指出 **库支持** 需要改进。人们提到了需要一套强大的核心库支持,难以找到高质量的板条箱,板条箱和板条箱生态系统的整体成熟度,需要库涵盖广泛的领域(例如 Web、GUI、网络、数据库等)。此外,人们还提到,根据库的 API 设计和文档数量,库可能很难上手。
- 9% 的回复鼓励我们继续构建 **IDE 支持**。今年再次强调,有相当一部分开发人员需要在他们的 IDE 和工具中支持 Rust。Rust 语言服务器是广泛支持 IDE 的一项持续努力,它被认为是人们今年最期待的项目之一,评论指出,这些努力需要达到稳定状态,并将其支持扩展到其他 IDE,以及继续增加可用功能的数量。
- 8% 的回复提到了 **学习曲线**。随着越来越多的开发人员尝试学习 Rust 或将其教授给同事和朋友,他们发现没有足够的资源来有效地做到这一点,并且 Rust 本身阻碍了流畅的学习体验。
- 其他重要的主题包括:**更快的编译时间**、**更多公司对 Rust 的支持**(包括工作机会)、**更好的语言互操作性**、**改进的工具**、**更好的错误消息**、**更多营销**、**更少营销**以及 **改进对 WebAssembly 的支持**。
结论
我们对今年的反馈感到震惊。这不仅比我们去年收到的回复数量多得多,而且我们还看到人们使用 Rust 的目的越来越多样化。非常感谢您提供有见地的回复。我们期待使用您的反馈、建议和经验来帮助我们规划明年。