Categories
程式開發

Rust 2019年度调查报告:17%的受访者未使用Rust


近日,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 2019年度调查报告:17%的受访者未使用Rust 1

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

Rust 2019年度调查报告:17%的受访者未使用Rust 2

Rust 2019年度调查报告:17%的受访者未使用Rust 3

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

Rust 2019年度调查报告:17%的受访者未使用Rust 4

为什么他们不使用 Rust?在文章的开头,我们就提到了目前仍然有很多受访者没有使用过 Rust 或者是曾经使用过但现在放弃了。那么为什么他们会放弃呢?

在调查中,我们发现“公司不使用 Rust”是这些受访者放弃使用 Rust 的重要原因。另外,学习曲线陡峭、缺少所需的库、因切换到 Rust 而减慢了速度以及缺少 IDE 支持也是用户停止使用 Rust 的常见原因。

Rust 2019年度调查报告:17%的受访者未使用Rust 5

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

Rust 2019年度调查报告:17%的受访者未使用Rust 6

Rust 2019年度调查报告:17%的受访者未使用Rust 7

为了找到大家不使用 Rust 的真正原因。Rust 社区还调查了 Rust 用户是出于什么样的原因在频繁使用,根据调查结果,大部分用户表示之所以使用 Rust,是因为 Rust 有更多他们需要的库,并且 IDE 支持也更好。

由此可见,目前 Rust 应用的最大障碍应该是学习曲线和互操作性。

Rust 2019年度调查报告:17%的受访者未使用Rust 8

92% 的受访者在使用新版本 Rust

2018 年 12 年,Rust 2018(Rust 1.31.0)版本正式发布。在这次调查中,92% 的 Rust 用户表示正在使用新版本,同时 85% 的人表示升级到 Rust 2018 版本很容易。

同时,这次报告还调查了用户对于 Rust 语言关键改进的评价,整体来看,Rust 2018 版本的诸多改进都获得了认可。

Rust 2019年度调查报告:17%的受访者未使用Rust 9

Rust 2019年度调查报告:17%的受访者未使用Rust 10

Rust 2019年度调查报告:17%的受访者未使用Rust 11

Rust 2019年度调查报告:17%的受访者未使用Rust 12

Rust 2019年度调查报告:17%的受访者未使用Rust 13

Rust 2019年度调查报告:17%的受访者未使用Rust 14

Rust 2019年度调查报告:17%的受访者未使用Rust 15

Rust 2019年度调查报告:17%的受访者未使用Rust 16

Rust 2019年度调查报告:17%的受访者未使用Rust 17

Rust 2019年度调查报告:17%的受访者未使用Rust 18

Rust 最重要的库都有哪些?

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

Rust 2019年度调查报告:17%的受访者未使用Rust 19

同时,该次调查还询问了用户使用的依赖项有多少是 1.0 或更高版本的。

  • 0.8% 表示“全部”
  • 6.7% 表示“大多数”
  • 65.9% 表示“有部分”
  • 5.2% 表示“无”
  • 21.4% 的人表示“我不知道”

Rust 用户都在使用哪些 IDE 和工具?

在调查中,我们发现 IDE 对 Rust 的支持也被认为是采用的障碍。那么,目前大家最常使用的 IDE 都有哪些呢?调查结果显示:最受欢迎的是 Vim 和 VS Code,其次是 IntelliJ。

Rust 2019年度调查报告:17%的受访者未使用Rust 20

至于用户使用的开发平台,Linux 和 Windows 仍继续占据主导地位。

  • 51.5%的用户在 Linux 上开发
  • 23.6%的用户在 Windows 上开发
  • 22.8%的用户在 macOS 上开发

Rust 2019年度调查报告:17%的受访者未使用Rust 21

另外,在调查中我们发现绝大多数用户使用的是当前稳定版本的 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 2019年度调查报告:17%的受访者未使用Rust 22

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

Rust 2019年度调查报告:17%的受访者未使用Rust 23

23% 的受访者希望实现 Rust 与 C 的互操作性

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

Rust 2019年度调查报告:17%的受访者未使用Rust 24

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

Rust 2019年度调查报告:17%的受访者未使用Rust 25

总结

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