阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:062977
用户头像

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

关注

评论 1 条评论

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

原因码与ACK--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 原因码

数据资产与勒索病毒之间,华为立起一张安全盾牌

脑极体

安全

企业内部即时通讯软件,提供安全的组织管理和办公协作方式

WorkPlus

模块八作业

张贺

架构训练营

电商平台的商品价格管理的产品设计

产品海豚湾

产品设计 SaaS 商品管理 电商 产品分析

【深度挖掘RocketMQ底层源码】「底层问题分析系列」深度挖掘RocketMQ底层那些导致消息丢失的汇总盘点透析([REJECTREQUEST]system busy, start flow control for a while)

洛神灬殇

RocketMQ OOM 消息队列 3月日更

从新手小白到运维大咖,SysOM 多场景宕机实例解析 | 龙蜥技术

OpenAnolis小助手

运维 操作系统 服务器 龙蜥技术 SysOM

ListView Item多布局的实现

智趣匠

ListView item QQ界面

实践,制作一个高扩展、可视化低代码前端,详实、完整

悠闲的水

前端 低代码 前端框架 低代码开发 低代码平台

openEuler加入RISC-V Landscape

openEuler

Linux 操作系统 openEuler risc-v

「中华田园敏捷开发」,是老板无能还是程序员无力?

引迈信息

前端 敏捷开发 后端 低代码

终于说有人清楚了BI仪表板和大屏的区别

搞大屏的小北

数据分析 数据可视化 数据大屏 仪表板 可视化展示

彻底搞懂贝叶斯的本质

侠之大者

机器学习 贝叶斯公式 概率论

Swift 里 的 Struct 和 Class

刿刀

研发提效利器:聊聊mock服务化

老张

Mockito 服务化 Mock

让AI上车,车企如何借势2023上海国际车展硬核出圈

Geek_2d6073

AI for Good | 从女性力量,到AI公平

澳鹏Appen

人工智能

API 网关日志的价值,你了解多少?

API7.ai 技术团队

微服务为什么要用到 API 网关?

API7.ai 技术团队

电商 SaaS 全渠道实时数据中台最佳实践

Apache Flink

大数据 flink 实时计算

虚拟主机和云服务器的区别

天翼云开发者社区

一图读懂《2023 年全球互联网通信云行业研究报告》

融云 RongCloud

互联网 通讯 图片资源

WorkPlus|可定制、可扩展的私有化即时通讯办公平台

WorkPlus

适配PyTorch FX,OneFlow让量化感知训练更简单

OneFlow

人工智能 深度学习

周六直播|StarRocks 参与数据湖架构峰会,揭秘最新湖仓分析新范式!

StarRocks

数据库 大数据

OpenAI竞争对手Anthropic融资:1融资易估值难2背后谷歌云3侧重安全

B Impact

CleanMyMac X4.20免费版Mac系统垃圾清理工具

茶色酒

CleanMyMac X

从 1 秒到 10 毫秒!在 APISIX 中减少 Prometheus 请求阻塞

API7.ai 技术团队

如何开发基于电报的TRX交易机器人?源码曝光

加密先生

150行代码创建一个多签钱包,智能合约实战项目

加密先生

智能合约 DAPP智能合约交易系统开发 多签钱包

前端开发框架React技术如何与小程序结合,进行页面构建

兴科Sinco

小程序 taro 前端开发 前端框架 React Native

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