写点什么

2018 年 Rust 语言调查报告

来源于Rust 调查组

  • 2018-12-04
  • 本文字数:3061 字

    阅读完需:约 10 分钟

2018年Rust语言调查报告

新的一年即将到来,这意味着一份新的 Rust 调查将出炉,这是 Rust 的第三次年度调查。今年首次推出了多语种调查,包括英语在内总共有 14 种语言。非英语语言的反馈占比 25%,整体创下了 5991 个反馈的新记录。



你使用 Rust 吗?


除了反馈数量有所增加,今年参与调查的 Rust 用户比例也比以往有所增加。与去年的 66.9%相比,今年有近四分之三的反馈来自 Rust 用户。

使用 Rust 的时间


你使用 Rust 多长时间了?


Rust 的新用户在源源不断地增长。约有 23%的 Rust 用户使用 Rust 的时间为 3 个月或更短,近四分之一的用户使用 Rust 至少 2 年时间。



在使用多久之后感觉 Rust 给你带来效率上的提升?


超过 40%的 Rust 用户在使用不到一个月时就感到 Rust 给他们带来的效率提升,超过 70%的人在使用一年左右感觉到效率提升。但用户之间存在明显的差异,仍然有超过 22%的用户尚未感觉到效率提升。



使用 Rust 多久之后仍然感觉不到 Rust 给你带来的效率提升?


大约 25%的用户在使用 Rust 一个月左右仍然感觉不到效率提升,所有有必要帮助用户找到提升效率的方法,以免他们陷入困境。

使用 Rust 的程度


Rust 项目的代码量

随着整体投入的增加,Rust的项目规模越变越大。Rust的中到大型投入(分别为超过1万行代码和10万行代码)从2016年的8.9%增长到2017年的16%,今年增长到23%。

使用Rust的频率

我们也看到了Rust常规使用量的增长。每天使用Rust的用户去年占17.5%,今年已接近四分之一。总体来说,每周使用Rust的用户从60.8%上升到66.4%。

Rust的专业知识

你如何评价自己的Rust专业技能?

Rust的专业技能等级不是一条简单的曲线,它有两个高峰:一个是“3”,另一个是“7”,这表明用户倾向于认为自己只是初学者,或者经验丰富,但不一定是专家。

你认为这些概念或知识点的学习难易程度是怎样的?

Rust用户普遍认为Enums和Cargo是比较简单的概念,其次是Iterator、Module和Trait。接下来是更难一点的Trait Bounds和Unsafe。最后,最难的是Macros、Ownership & Borrowing和Lifetime。这些难点与我们过去几年收到的反馈很相似,它们将继续成为提高生产力的改进重点,如NLL和Macro系统改进。

你还喜欢哪些其他编程语言?

我们发现,Rust实际上并不是用户最熟悉的顶级编程语言,它位于Python之后,屈居第二。

Rust的工具链

你使用哪个版本的Rust?

使用当前稳定版本的用户数量与去年类似,但让人感到些许惊讶的是,在工作流程中使用Nightly构建版本编译器的用户数量有所增加。使用Nightly构建版本的用户数量两年来在持续上升,现在超过了56%(高于去年的51.6%)。

当被问到为什么使用Nightly构建版本时,人们回应的原因有很多,包括:访问2018版本、asm、async/await、clippy、嵌入式开发、rocket、NLL、proc宏和wasm。

在过去一年是否因为升级编译器而破坏了你的代码?

这个数字与去年相比差不多,有7.4%的人表示他们经历过这种情况。

如果是这样,那么修复这些问题需要多大的工作量?

通常只是一些小的修复,但也有些人报告说,会有一些中等或主要的修复。

Rust的首选安装方法是什么?

通过rustup来安装的占了90%,然后是Linux发行包,占17%。

你还使用过哪些其他Rust工具?

使用rustfmt和rustdoc的最多,然后是clippy——尽管用户较少,但使用它的用户很喜欢这个工具。IDE支持工具Rust Language Server和racer也得到了积极的支持,但在调查中也出现了一些不喜欢的投票和评论。bindgen具有相对较小的用户群。

Rust工作流程

你的开发平台是什么?

Linux仍然是Rust开发人员的大本营,大约80%的Rust开发人员在Linux上开发。Windows的使用量从去年的31%略微增长到今年的34%,这是它连续第二年出现增长。

你的目标平台是什么?

Linux和Windows仍然是Rust应用程序的主要目标平台。其他平台与去年大致相同,但有一个例外:WebAssembly。这项新技术取得了令人瞩目的增长,从去年的13%增长到今年的24%,几乎翻了一番。

你使用什么编辑器?

领跑两年的Vim现在终于被VSCode击败了,VSCode从去年的33.8%增长到今年的44.4%。

在工作中使用Rust

你或你的公司在工作中使用Rust吗?

Rust在工作场所中的增长继续呈现出缓慢而稳健的态势。全职和兼职使用Rust从去年的4.4%全职和16.6%兼职增长到今年的8.9%全职和21.2%兼职。全职Rust商业用途增加了一倍。总的来说,Rust的商业使用总量从去年的21%增长到略高于30%。

你的公司有计划在未来使用Rust吗?

在公司采用方面,Rust有更多的增长空间。超过三分之一的用户表示,目前还没有考虑在未来一年尝试使用Rust。也有将近一半的非Rust用户表示这需要公司的支持,这表明需要从公司方面进行拓展或需要让公司了解更多有关Rust的信息。

社区氛围

你感觉自己受Rust社区的欢迎吗?

Rust社区工作的一个重要组成部分是确保Rust项目对用户来说是一个温馨的地方。新用户应该能够感到他们被鼓励去探索和分享想法,并且让他们做最好的自己。

Rust用户和非Rust用户都感觉受到社区的欢迎,尽管还有超过四分之一的人表示不确定。这些反馈中也存在一些区域差异。例如,来自俄罗斯的反馈显示,感觉自己不受欢迎占比为4%,而中国为8%。

你认为自己在技术方面的代表性不足吗?

认为自己在技术方面代表性不足的人数在逐年增长。调查显示,Rust女性从业者仍然低于行业平均水平。

非Rust用户

在放弃之前你使用Rust多久了?

在放弃使用Rust的人当中,超过50%的人在不到一个月的时间内放弃使用Rust。同样地,大约50%放弃使用Rust的人在放弃之前使用了超过一个月时间。

为什么不使用Rust?

很多非Rust用户表示他们确实想学习Rust,但一些因素会影响到他们。首先是他们所在的公司本身不使用Rust。近一半的非Rust用户因缺乏公司支持而受阻。此外,由于Rust过于复杂,给四分之一的非Rust用户造成了阻碍。

挑战

跟往年一样,我们会问受访者,Rust有哪些地方需要改进。今年,我们在反馈中看到了一些熟悉的主题以及一些新的主题。今年的十大主题是:

  1. 需要更好的库支持;

  2. 更好的IDE体验;

  3. 需要更广泛地采用Rust;

  4. 更丰富的工具和支持生态系统;

  5. 改善的学习曲线;

  6. 需要重要的语言功能;

  7. 支持异步编程;

  8. 支持GUI开发;

  9. 更好的文档;

  10. 改进的编译时间。

今年,“支持GUI开发”的需求在不断增长,这说明Rust不仅在服务器端继续在增长,而且人们感觉将Rust需要延伸到应用程序开发中。

“需要改善Rust营销策略,很多人都不知道它。”

虽然Rust在某些圈子中可能是众所周知的,但它仍有成长空间。在很多科技领域,Rust可能还不为人所熟知。

“专注于提高采用率、教程、书籍、新手经验培养等方面,这些将在未来几年带来好处”。

除了外展之外,更多更好的文档将吸引到更多的受众。

“开发者工具的稳定性和成熟度让开发环境的搭建和应用程序的调试变得更容易。”

很多人提到了IDE支持,不仅指出了RLS的不稳定性和不准确性,还提出了更多的IDE支持,比如调试的便利性。

“生态系统和库的成熟度很重要,一个良好的“标准”库生态系统是该语言未来成功的关键。”

受访者强调,需要更完善的库并增加用户可以使用的“标准”库。一些评论指出,这不是维护者的错,他们已经在努力开发和发布这些库,但需要更多的公司参与并提供商业支持。

“人体工学和涵盖一切的文档。”

有些人指出,人体工学应该与更丰富的文档齐头并进,因为它们并非相互独立的概念,应该通过统一的方式将它们融合在一起。

英文原文:https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html



2018-12-04 12:063152
用户头像

发布了 731 篇内容, 共 451.9 次阅读, 收获喜欢 2002 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

毕设-电商秒杀系统

曾竞超

架构实战营 「架构实战营」

架构训练营-作业六

默光

架构训练营5期 电商小程序

在线CSS美化格式化工具

入门小站

工具

架构实战营

踩着太阳看日出

Prometheus 监控系统

yuexin_tech

Prometheus

毕业总结

AUV

「架构实战营」

架构实训营模块一作业

michael

架构实战营 「架构实战营」

不考虑安全的数字化转型都是伪命题

极狐GitLab

security DevSecOps

王者荣耀商城异地多活架构设计

唐尤华

架构实战营

模块一作业

Dean.Zhang

架构实战营

spring cloud篇之配置中心

邱学喆

加密解密 配置中心 spring-cloud-config 配置实时性

架构实战营 模块九

架构实战营 「架构实战营」 模块九

架构实战营毕业总结

架构实战营 「架构实战营」

【架构实战营】-模块一作业

,lazy

「架构实战营」

《给新中产的理财课》之定投学习笔记(23/100)

hackstoic

投资理财

对校招生做 Offer 选择的一点心得

踏雪痕

offer 3月程序媛福利 3月月更

【直播预告】「不确定性局势下的金融安全保障」,拒绝纸上谈兵,破局合规挑战

FinClip

安全 金融 数据安全 合规性

Linux之nohup命令

入门小站

Linux

在线HTML5,CSS3,VueJS,jQuery运行测试练习工具

入门小站

工具

最新实用油猴脚本推荐

源字节1号

技术分享

极客星球 | 联邦学习与产品化之路

MobTech袤博科技

人工智能 联邦学习 FATE

2022第11周-打油诗一首

李印

生活记录

设计电商秒杀系统

AUV

「架构实战营」

模块六作业-拆分电商系统为微服务

卡西毛豆静爸

「架构实战营」

从 0 到 1 建设小程序可观测性

方勇(gopher)

小程序 可观测性 SRE 服务治理 低代码开发

架构训练营-模块一

流火

架构训练营毕业总结

沈益飞

架构训练营 架构师训练营 4 期

毕业设计 - 电商秒杀系统

圈圈gor

#架构实战营 「架构实战营」

模块九毕业设计

沈益飞

架构训练营 架构训练营4

毕业总结

圈圈gor

架构实战营 「架构实战营」

解决QT编译Android程序不支持openssl问题

DS小龙哥

3月月更

2018年Rust语言调查报告_语言 & 开发_InfoQ精选文章