Rust 2017调查结果

2017年9月5日·乔纳森·特纳

现在是一年中的这个时候,我们通过询问整个社区(包括Rust用户和非用户)来很好地了解事情的发展情况。哇,你有回应吗!

今年我们5368条回复.这比去年多了2000多条回复!

反馈的规模既鼓舞人心又令人谦卑,我们努力阅读了您的所有评论和建议。人们分享了很多有益的想法和经验,我们真的很感激。不言而喻,让我们来看一看。

图:66.9%的生锈用户,9.9%的用户停止使用,23.2%的用户从未使用过

正如我们去年看到的那样,2/3的回复来自Rust用户,其余来自非用户。今年,我们将“不使用Rust”分为两类,一类是使用Rust的用户,另一类是从未使用过Rust的人。看到这么多开发人员希望帮助我们将Rust做得更好(即使他们不使用它!),这样它就可以接触到更多的人,真是令人鼓舞。

我们将在本报告稍后讨论更多关于Rust非用户的内容,但首先让我们看看Rust用户的回应。

使用铁锈

图表:一天以内0.5%,一周以内4.2%,一个月以内13.1%,一年以内39.7%,一年以上42.5% (悬停查看更多信息)

今年,我们看到越来越多有经验的用户坚持使用Rust,“一年多”的用户增长到42%以上(比去年增加了30%)。初学者也是一个令人印象深刻的群体,“不到一个月”的人数仅占18%左右,这意味着我们目前吸引了近五分之一的用户群,即使这个用户群每个月都在增长。

图表:1000行减少36.5%,1000到10000行减少46.3%,10000到100000行减少14.2%,100000行增加2.1%,0.9%不知道 (悬停查看更多信息)

人们正在使用越来越多的Rust,从去年起,中大型代码行总数占总代码行数的百分比几乎翻了一番,现在占受访者的16%(去年为8.9%)。这表明人们对在越来越大的项目中使用Rust越来越感兴趣,也越来越需要支持这种增长的工具。

图表:每日17.5%,每周43.3%,每月24.4%,很少14.9%

尽管与代码开发人员合作的代码数量不断增加,但我们在每日和每周的用户中都看到了一个小的下降趋势。每日用户从19%降至17.5%,每周用户从48.8%降至43.3%。随着越来越多的开发人员开始使用Rust,这可能是我们发展阶段的一个自然过渡。

稳定之路

图表:92.5%不,7.5%是

在过去的一年里,我们在编译器的发布导致的损坏方面取得了长足的进步。去年,16.2%的受访者表示升级到新的稳定Rust编译器会破坏他们的代码。今年,这个数字已经降至7.5%的受访者这是一个巨大的进步,也是我们引以为豪的进步,尽管我们会继续努力,将其进一步推向下一步。

图表显示了对夜间和当前稳定版本的强大支持

开发人员基本上选择了转移到夜间或最近的稳定版(有些是测试版),这表明开发人员渴望快速升级。这与去年相比,简化了支持结构,去年开发人员使用了更广泛的版本。

稳定用户现在占Rust用户的77.9%。不幸的是,尽管我们在过程宏方面做出了努力,并帮助将像Serde这样的板条箱移动到稳定状态,但我们仍有工作要做,以促使人们远离夜间运行的Rust编译器。今年夜间用户有所增加,目前有1852张选票,占调查对象的51.6%,高于去年的48.8%。

我们如何使用Rust

图表:90.2%的信任率,18.9%的linux发行版,5%的自制软件,4.7%的官方.msi,3.1%的官方tarball,1.4%的官方mac-pkg (悬停查看更多信息)

Rust工具的一大成功案例是rustup,即Rust工具链安装器。去年,我们看到人们安装Rust的方式多种多样。今年,其中许多人已转而使用生锈作为安装Rust的主要方式,目前共收到3205份回复,从去年的52.8%增至90.2%.

图表:80.9%Linux,35.5%macOS,31.5%Windows,3.2%BSD变体

Linux仍然是Rust开发人员选择的主要平台之一。值得注意的是,在3588名受访者中,我们还发现Windows作为开发平台的使用有所增加,达到1130人31.5%的受访者比去年的27.6%有所上升。

图表:91.5%Linux、46.7%Windows、38.2%macOS、16.8%嵌入式、13.2%WebAssembly和asm.js、9.9%Android、8.9%BSD变体、5.3%Apple iOS

接下来,我们询问了人们在Rust项目中的目标平台。虽然我们在这里看到了桌面操作系统的类似表示,但我们也看到了越来越多的其他目标。Android和iOS的健康率分别为9.9%和5.3%,几乎都是10倍大比去年的百分比还要高。自去年的单位数百分比以来,嵌入式也有了大幅增长。总的来说,自去年这个时候以来,交叉编译已经有了很大的增长。

图表:45.8%的vim、33.8%的vscode、16.1%的intellij、15.7%的atom、15.4%的emacs、12.2%的sugramie、1.5%的eclipse和1.5%的visual studio

在编辑中,vim仍是王者,尽管我们看到VSCode的采用率稳步增长,达到34.1%(高于去年的3.8%)。毫无疑问,VSCode是首批获得支持Rust语言服务器.

图表:4.4%全职,16.6%兼职,2.9%没有但公司使用Rust,57.6%没有,2.4%不确定,16.1%不适用 (悬停查看更多信息)

工作场所的锈迹也在继续增长。今年的4.4%全日制16.6%兼职锈工人数比去年的全职3.7%和兼职16.1%有所上升。

非全日制两个图表:2016年:低于1000行的占29.6%,1000-10000行的占55.3%,1000-100000行的占14.5%,100000行的占0.6%。2017年:1000条线以下18.9%,1000至10000条线以下56%,10000至100000条线以下23.1%,10万条线以上2%

使用Rust的用户兼职自去年以来,他们公司的大型项目有所增长,这次中大型项目占总项目的比例更高。

两张全时图表:2016年:1000条线以下4.4%,1000至10000条线以下42.6%,10000至100000条线以下39.7%,10万条线以上13.2%。2017年:1000线以下1.9%,1000至10000线27.9%,10000至100000线52.6%,100000线以上17.5%

同样地,全职的锈迹斑斑的商业用户看到,中型和大型项目在馅饼中占据了更大的份额,超过100000行代码的项目几乎占所有全职商业受访者的18%,而10000-100000行的大幅变化范围从39.7%到52.6%.

感受欢迎

图表:75.1%的人觉得受欢迎,1.3%的人觉得不受欢迎,23.6%的人不知道 (悬停查看更多信息)

Rust社区的一个重要部分是欢迎新用户,无论他们是当前用户还是未来的潜在用户。我们很高兴地看到,超过3/4的受访者表示他们在Rust社区受到欢迎,23.6%的人不确定。

图表显示81.4%的人没有被低估,以及各种被低估的人,没有类别超过5%

受访者的人口统计数据与去年持平。多样性和包容性仍然是Rust项目各级的重要目标。这个锈迹斑斑的桥梁该倡议旨在促进入门级的多样性。这个锈蚀范围该项目于今年启动,从Rust世界中代表性不足的人那里引进了广泛的专业知识,并将他们与Rust团队成员配对,以使Rust更容易被更多的观众所接受。

使用铁锈停止

今年是新的一年,我们将停止使用Rust的人与从未使用过Rust的人们区分开来,以更好地理解他们停止使用Ruth的原因。让我们先看看他们什么时候停下来的。

图表:一天以内3.2%,一周以内18.5%,一个月以内43.1%,一年以内30.2%,一年以上4.9% (悬停查看更多信息)

我们在这里遇到的第一个惊喜是,人们在Rust停下来之前尝试了多久。我们最初的预感是,如果Rust不适合他们或他们的项目,人们会在第一天,或者可能在第一周放弃使用Rust。相反,我们看到的是,人们尝试Rust的平均时间要长得多。

停止使用Rust的人的主题:

  • 23%的人回答说Rust是太难使用了.
  • 20%的人回答说没有足够的时间有效学习和使用Rust。
  • 10%的人回答说工具使用不够成熟.
  • 5%的人回应了他们的需求更好的IDE支持.
  • 其他用户提到需要支持他们的工作,他们会完成项目他们需要用铁锈,被拒绝了Rust的语法想不出要构建的项目,或拥有与Rust社区的不良互动.

不使用Rust

图表:666公司不使用Rust,425 Rust太难学习或太复杂了,295 Rust不能为我解决问题,255 Rust没有良好的IDE支持,209 Rust没有我需要的库,161 Rust对生产来说风险太大,89 Rust不支持我需要的平台,73 Rust没有我需要的工具

虽然学习曲线和语言复杂性仍然在阻止人们学习Rust方面起到了一定作用,但在许多人心中产生共鸣的一个方面是,Rust中没有足够的活跃商业项目供人们参与。对一些人来说,如果有强烈的动机,他们可以超越学习曲线。

需要改进的方面

最后,在调查结束时,我们提供了一个自由形式的区域,讨论Rust可以改进的地方。在讨论我们所看到的主题之前,我们想对所有发表深思熟虑的评论的人说一声“谢谢!”。有很多很多好的想法,我们将为各自的子团队提供这些想法,以供未来规划。接下来,让我们看看今年重要的主题:

  • 17%的回答强调了更好的人机工程学在语言方面。人们对如何改进Rust以供日常使用、实现更简单的原型设计、更容易地使用异步编程以及更灵活地使用更多的数据结构类型提出了许多建议。和以前一样,需要更轻松、更顺畅地使用借阅检查器以及如何使用寿命是一个普遍的要求。
  • 16%的受访者谈到创造的重要性更好的文档这些主题包括帮助用户从其他语言过渡,创建更多示例和示例项目,帮助人们开始各种任务或板条箱,以及创建视频资源以促进学习。
  • 15%的受访者指出图书馆支持需要改进。人们提到需要一组强大的核心库支持,难以找到高质量的板条箱,板条箱和板条箱生态系统的普遍成熟度,图书馆需要覆盖广泛的领域(例如网络、GUI、网络、数据库等)。此外,人们提到,依赖于API设计和文档数量,库可能很难开始使用。
  • 9%的回复鼓励我们继续建立我们的IDE支持今年再次强调,有相当一部分开发人员需要在其IDE和工具中支持Rust。Rust Language Server是广泛支持IDE的持续努力,被认为是人们今年最期待的项目之一,评论指出这些努力需要达到稳定并增加对其他IDE的支持,以及继续增加可用功能的数量。
  • 8%的回复提到学习曲线明确地。随着越来越多的开发人员尝试学习Rust或将其传授给同事和朋友,他们发现没有足够的资源来有效地学习Rust,而且Rust本身阻碍了顺利的学习体验。
  • 其他重要主题包括:更快的编译时间Rust的更多企业支持(包括工作),更好的语言互操作改进的工具更好的错误消息更多市场营销较少的市场营销、和改进了对web组装的支持.

结论

今年的反应让我们大吃一惊。这不仅比我们去年收到的回复数量大得多,而且我们还看到人们使用Rust的目的也越来越多样化。非常感谢您深思熟虑的回复。我们期待着利用您的反馈、建议和经验来帮助我们规划明年的计划。