
近日,Rust 官方博客发布了 Rust 2019 年度调查报告,同时这也是对 Rust 社区进行的第四次年度调查。这次调查共发布 14 种不同语言版本的问卷,收到了 3997 个受访者回复。
本次调查收到的受访者回复的语言发布如下:
英语:69.6%
中文汉语:10.8%
德语:4.3%
法语:3.3%
日语:3.0%
波兰语:1.2%
葡萄牙语:1.2%
西班牙语:0.9%
韩语:0.8%
意大利语:0.6%
瑞典语:0.5%
越南语:0.2%
在这次调查中,有 82.8% 的受访者表示目前在使用 Rust,7.1% 的受访者表示曾经使用过 Rust,但是现在已经放弃了,还有 10% 的受访者表示从未使用过 Rust。如果与 2018 年的 Rust 调查报告作对比,我们不难发现 Rust 的使用者在不断增加。(注:在 2018 年 Rust 调查报告中,有 74.5% 的受访者表示目前在使用 Rust,8.1% 的受访者曾经使用过 Rust,但现在放弃了,17.4% 的受访者表示从未使用过 Rust。)
Rust 使用者的分布情况在这次调查中,Rust 的日常使用量出现了小幅上升,达到了 27.63%(去年略低于 25%,2017 年为 17.5%)。

在这次调查中,我们发现使用 Rust 最多的用户是程序员 / 软件工程师,其次是系统架构师。而最多应用 Rust 的领域是后端 Web 应用程序。


根据调查结果,43%Rust 项目的代码量在 1000-10000 行,代码量超过 10000 行的项目也在逐年增加,从 2016 年的 8.9% 增长到 2017 年的 16%,再到 2018 年的 23%,在这次 2019 年调查报告中已经增长到了 34%。

为什么他们不使用 Rust?在文章的开头,我们就提到了目前仍然有很多受访者没有使用过 Rust 或者是曾经使用过但现在放弃了。那么为什么他们会放弃呢?
在调查中,我们发现“公司不使用 Rust”是这些受访者放弃使用 Rust 的重要原因。另外,学习曲线陡峭、缺少所需的库、因切换到 Rust 而减慢了速度以及缺少 IDE 支持也是用户停止使用 Rust 的常见原因。

那么,到底是哪些人没有使用 Rust 呢?比较好玩的是,程序员 / 软件工程师既是使用 Rust 的最大群体,也是不使用 Rust 的最大群体,如果再聚焦到领域,我们发现,排在首位的还是后端 Web 应用程序。


为了找到大家不使用 Rust 的真正原因。Rust 社区还调查了 Rust 用户是出于什么样的原因在频繁使用,根据调查结果,大部分用户表示之所以使用 Rust,是因为 Rust 有更多他们需要的库,并且 IDE 支持也更好。
由此可见,目前 Rust 应用的最大障碍应该是学习曲线和互操作性。

92% 的受访者在使用新版本 Rust
2018 年 12 年,Rust 2018(Rust 1.31.0)版本正式发布。在这次调查中,92% 的 Rust 用户表示正在使用新版本,同时 85% 的人表示升级到 Rust 2018 版本很容易。
同时,这次报告还调查了用户对于 Rust 语言关键改进的评价,整体来看,Rust 2018 版本的诸多改进都获得了认可。










Rust 最重要的库都有哪些?
在用户看来,在 Rust 生态系统中最重要的库都有哪些?根据调查结果,排在前十的分别是 serde、rand、tokio、async、clap、regex、log、futures、hyper 和 lazy_static。

同时,该次调查还询问了用户使用的依赖项有多少是 1.0 或更高版本的。
0.8% 表示“全部”
6.7% 表示“大多数”
65.9% 表示“有部分”
5.2% 表示“无”
21.4% 的人表示“我不知道”
Rust 用户都在使用哪些 IDE 和工具?
在调查中,我们发现 IDE 对 Rust 的支持也被认为是采用的障碍。那么,目前大家最常使用的 IDE 都有哪些呢?调查结果显示:最受欢迎的是 Vim 和 VS Code,其次是 IntelliJ。

至于用户使用的开发平台,Linux 和 Windows 仍继续占据主导地位。
51.5%的用户在 Linux 上开发
23.6%的用户在 Windows 上开发
22.8%的用户在 macOS 上开发

另外,在调查中我们发现绝大多数用户使用的是当前稳定版本的 Rust(63%)。
30.5%使用 Nightly 版本
2.5%使用 Beta 版本
63%使用当前的稳定版本
3.1% 使用以前的稳定版本
0.6%使用自定义 fork
0.3%不知道
令人惊讶的是,在工作流程中使用 Nightly 编译器的用户数量下降了 20%。
Rust 学习曲线陡峭,21% 的受访者仍未掌握 Rust
Rust 以其陡峭的学习曲线而闻名。调查结果显示:大约 37%的 Rust 用户在使用了不到一个月的时间就能感受到它的生产效率(掌握 Rust),这与去年的比例(40%)相差不大。超过 70%的人在第一年才能感受到它的生产效率。不幸的是,和去年一样,很多用户仍在挣扎,21%的用户表示尚未掌握 Rust。

有趣的是,这次调查选取了那些还没有感受到 Rust 生产效率的用户子集,并绘制了他们对 Rust 专业知识的评分。结果发现,那些感受不到 Rust 生产效率的人的专业知识水平处于低到中级,而这些人是最需要学习材料、文档的群体。

23% 的受访者希望实现 Rust 与 C 的互操作性
多年来,用户都希望 Rust 能够与其他语言进行更多的互操作。这次报告中调查了用户最希望与 Rust 进行互操作的语言是什么,得到的结果是:排在第一位的是 C,第二位的是 R,第三位是 C+++。

当谈到使用什么平台来作为应用程序的目标时,Linux 仍然是首选,占 36.9%,其次是 Windows,占 16.3%。紧随 Windows 之后的是 macOS 和 Web Assembly,它们各占 14%。从报告中,我们发现越来越多的用户将 Android 和 Apple iOS 作为目标。

总结
整体来看,用户是否采用 Rust 或者其它语言的一个重要考量因素是生产效率。目前阻碍 Rust 使用的重要原因是公司的 Rust 采用率、学习曲线、IDE 和工具以及互操作性。同时,Rust 社区应该提供更多的学习资料和文档,帮助开发者尽快入门和掌握 Rust。
评论 1 条评论