写点什么

【译】Rust 开发者的 2019

用户头像
Michael Yuan
关注
发布于: 2020 年 04 月 22 日
【译】Rust 开发者的2019

最近 Rust 社区发表了针对 Rust 开发者的调查问卷结果,我翻译了这份报告,方便中国开发者能够更好地了解 Rust 开发者的2019年。



我们很高兴介绍我们对 Rust 社区的第四次年度调查的结果。在深入分析之前,我们要对所有花时间填写这份问卷的人大声说谢谢。你们对 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%



在2019年的调查中,有82.8%的受访者表示他们使用过 Rust,有7.1%的受访者表示目前没有使用,但过去曾使用过 Rust,有10.1%的受访者表示从未使用过 Rust。



如果将其与2018年的调查结果进行比较(其中75%的受访者表示他们使用 Rust,8%的受访者表示目前没有使用,但过去曾使用过 Rust,而8%的受访者表示他们从未使用过Rust),2019年,更多的受访者正在使用 Rust。

回顾Rust 开发者的2018

在2018年12月,我们发布了 Rust 2018版本- Rust 1.31.0。在2019年的调查中,有92%的 Rust 用户表示他们正在使用新版本。 85%的人表示升级到 Rust 2018 版本很容易。

接下来,我们要求用户对Rust语言的关键方面的改进进行评分。



















采纳水平改善程度



总体而言,Rust 语言的许多方面在2018年的版本中被认为“更好”。

会议与社区

我们注意到英语和其他语言的结果之间存在一些差异。非英语的调查组与英语调查组在大多数问题和关注点是相同的。但是,在非英语国家中,有一个趋势很突出:希望使用其母语或接受调查的语言编写 Rust 文档。在中文组中,这一点尤其明显,尽管这很可能存在代表性较高的原因。



我们正在使用“ Translation” GitHub 问题标签跟踪正在进行的翻译工作。



我们收到了很多关于如何改善 Rust 以及使 Rust 更受欢迎的反馈。我们无法在此处将所有内容包括在内,下面是一些引人注意的反馈摘要。



人们通常要求获得更多有关 Rust 的学习材料。就专业知识而言,主要是要求初学者和中级水平的材料。这些请求中的大部分明确要求了视频内容。



人们提到参与其中的常见障碍是他们有社交焦虑和可及性。提到的常见原因之一是阅读障碍者难以阅读某些资源。



以下是对“我们可以采取什么措施使您感到更受欢迎?”这一问题的一些具体答复。

  • 我觉得自己经验不足,缺乏技巧,无法加入Rust社区

  • 宣传更多的新人贡献/参与方式

  • 更有组织的指导,在线课程

  • 提供有关如何为编译器做出贡献的视频教程。我很乐意贡献自己,但是我感到被吓到了

  • 为新手找到资源,让他们了解 Rust 在开源项目中的使用情况并不容易,以便他们在学习语言时能看到动作。

  • 为纯初学者提供更多的讲解简单 Rust 以及编码概念的教程/博客

  • 更多的中级教程,我们已经有一百万本“ Rust简介”。

  • 较小的帮助人群,例如,社交焦虑让人很难在 Discord 中交流

  • 在后欧盟时期,不要举行同步会议。更少的同步会议或/和更一致地发布和汇总团队会议的会议记录。



谁在使用Rust,其用途是什么?



Rust 的日常使用量略有上升,达到27.63%(去年略低于25%,2017年为17.5%)。每日或每周使用量也继续略有上升的趋势。今年为68.52%,去年为66.4%,2017年为60.8%。





我们还询问了用户如何评价 Rust 水平。在“7”附近有一个明显的峰值。





为了更深入地了解这一点,我们将用户 Rust 的自我评价与他们使用 Rust 的时间联系起来。

在更大的范围内,我们研究了全职使用 Rust 的用户在其组织中倾向于拥有哪些职位(调查受访者可以选择多个)。



毫无疑问,到目前为止,Rust 用户最常见的职位是程序员/软件工程师。

为了获得更多的背景信息,我们要求 Rust 调查的受访者确定他们从事的行业。



对于全职使用 Rust 的用户,到目前为止,最常见的行业是后端 Web 应用程序。



大多数 Rust 项目(43%)是1,000-10,000行代码。 中型到大型(总代码行超过1万行)的 Rust 项目继续呈上升趋势。 他们从2016年的8.9%增长到2017年的16%,然后到2018年的23%,再到2019年的34%。



为什么不使用Rust?



受欢迎的 Rust 社区有一部分也正在与非用户接触。

当我们询问为什么有人停止使用 Rust 时,最常见的回答是“我的公司不使用Rust”。这表明 Rust 采用仍然是最大的原因。之后,学习曲线、缺少所需的库,因切换到 Rust 而减慢了速度以及缺少 IDE 支持是用户停止使用 Rust 的最常见原因。

对于表示以前从未使用过 Rust 的用户,大多数人表示“我还没有学会 Rust,但是我想”或“我的公司没有使用 Rust” 。这再次指出采用是主要障碍。



为了获得更多的背景信息,我们还研究了非 Rust 用户认为最与他们角色匹配的职位。

与 Rust 用户一样,到目前为止,最常见的头衔是程序员/软件工程师。



与 Rust 用户一样,到目前为止,最常见的行业是后端 Web 应用程序。



我们还询问了用户什么会导致他们更频繁地使用 Rust。大多数人表示,如果公司采用它,Rust有更多需要的库,并且 IDE 支持更好,他们将更多使用 Rust。这些最常见原因指出需要改善学习曲线和互操作性。

由于采用似乎是阻止某些受访者使用Rust的最大问题,因此让我们更深入地研究它。



Rust 采用,近距离观察



首先,我们询问如何才能提高 Rust 的采用率。



一些用户给出了具体示例:

  • “尽可能平滑的学习曲线,对于一个甚至要在4到6周内就能产生成果的小企业来说,这是一个很大的问题”

  • “更高的市场渗透率”

  • “更稳定的库”

  • “像 Rails,Django 和 Phoenix 这样的全栈 Web 框架”

  • “更好的文档,更多示例,推荐使用什么Crate”

  • “更多地强调它是 C 或 C ++ 的更安全替代品(通常是默认值)。”

  • “改善编译时间。编译开发的构建速度至少与 Go 一样快,这是我们考虑 Rust 的关键。(发布构建可能很慢。”

  • “更好的平台支持”

  • “安全和性能,具有成本效益的和“绿色”(低碳足迹)语言”

  • “针对 ARM 的嵌入式开发”

  • “更好的 GUI 框架,类似于 Qt 或通过绑定直接使用 Qt 。”



多数人表示,Rust的成熟度,例如更多的库、完整的学习资源以及更成熟的生产能力,将使 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% 的人表示“我不知道”



IDE 和工具,近距离观察



IDE 对 Rust 的支持也被认为是采用的障碍。

当我们询问用户使用什么编辑器时,目前为止最受欢迎的是 Vim 和 VSCode ,其次是 Intellij。



我们还询问了用户使用了哪些 IDE 设置:

  • 43.3% 表示是 RLS

  • 21.7% 表示是 Intellij

  • 15.2% 表示是 Rust-analyzer

  • 12.4% 表示否(或CTAGS)

  • 4.2% 表示只有 Racer

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

  • 55% 的 Rust 用户在 Linux 上开发

  • 24% 在 Windows 上进行开发

  • 23% 的人在 macOS 上开发



我们发现绝大多数用户使用的是当前稳定的 Rust 版本(63%)。应该注意的是,调查允许受访者为其使用的Rust版本选择多个选项。

  • 30.5% 使用 nightly 版本

  • 2.5% 使用 Beta 版本

  • 63% 使用当前的稳定版本

  • 3.1% 使用先前的稳定版本

  • 0.6% 使用自定义的 fork

  • 0.3% 不知道



令人惊讶的是,在工作流程中使用 Nightly 编译器的用户数量下降了20%。去年,这一比例超过了56%。

学习曲线



Rust 以陡峭的学习曲线而闻名。

大约37%的 Rust 用户在不到一个月之内就能有效率地使用它,这与去年的百分比(40%)相差无几。超过70%的人在第一年内能达到有效率地使用。不幸的是,与去年一样,很多用户仍在挣扎,21%的用户表示尚未熟练掌握 Rust。

有趣的是,我们选择了对自己 Rust 水平尚未满意的用户子集,并询问了他们对自己 Rust 专业水平的评价。结果是对自己水平未满意用户的 Rust 专业水平在低至中级,而这些群体需要我们在学习材料,文档方面提供最大的支持。



互操作性



多年来,一些用户表达了对 Rust 与其他语言的互操作性的渴望。

当我们询问用户他们希望与 Rust 进行互操作的语言时,答案范围很广,但是 C 占主导地位,R 紧随其后(有点令人惊讶)。要注意的是,受访者可以针对此问题选择一种以上的语言,这些百分比基于总回答。



至于使用何种平台实现其为应用程序定位的目标,Linux 仍然是第一选择:36.9%,Windows 则是第二选择:16.3%。紧随Windows 之后的是 macOS 和 WebAssembly,它们各占14%。我们还看到越来越多的用户将 Android 和 Apple iOS 作为目标。

结论



总体而言,我们的用户表示,生产效率仍然是他们工作的重要目标(无论是否使用Rust)。结果表明,阻碍使用 Rust 的首要问题是采用。学习曲线仍然是一个挑战,我们似乎最需要提高对中级用户的关注度,库和工具也是如此。



感谢所有参与此调查的人。这些结果对我们很有帮助,特别是我们如何改善 Rust 语言和整个 Rust 生态系统。我们期待在2020年及以后继续为您服务!



用户头像

Michael Yuan

关注

软件正在吃掉世界 2018.12.27 加入

服务端的 Rust 与 WebAssembly

评论

发布
暂无评论
【译】Rust 开发者的2019