OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

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

  • 2020-05-21
  • 本文字数:2169 字

    阅读完需:约 7 分钟

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 最多的用户是程序员 / 软件工程师,其次是系统架构师。而最多应用 Rust 的领域是后端 Web 应用程序。




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



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


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



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




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


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


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

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


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











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% 的人表示“我不知道”

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

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



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


  • 51.5%的用户在 Linux 上开发

  • 23.6%的用户在 Windows 上开发

  • 22.8%的用户在 macOS 上开发



另外,在调查中我们发现绝大多数用户使用的是当前稳定版本的 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 生产效率的用户子集,并绘制了他们对 Rust 专业知识的评分。结果发现,那些感受不到 Rust 生产效率的人的专业知识水平处于低到中级,而这些人是最需要学习材料、文档的群体。


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

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



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


总结

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


2020-05-21 17:022564

评论 1 条评论

发布
用户头像
这比例过分了,国内求职平台都没几个rust职位
2020-05-22 09:39
回复
没有更多了
发现更多内容

分布式系统:数据一致性解决方案

马迪奥

分布式事务 一致性

智能门禁的音视频技术应用

anyRTC开发者

音视频 WebRTC 直播 RTC

架构师训练营 - 大作业(二)

张明森

拓扑排序就这么回事

小齐本齐

数据结构 算法 数据结构和算法

共享内存原理与VCS监控采集实战

vivo互联网技术

监控 中间件 架构设计 数据采集 埋点

JDK15正式发布,新增功能预览!

王磊

Java

正则表达式

菜鸟小sailor 🐕

爬虫

第一周学习总结

Geek_Albert

架构师训练营大作业一

子豪sirius

oeasy教您玩转linux 010216 随机诗词 fortunezh

o

招商2020第十三届(南京)智慧城市技术与应用产品展览会

InfoQ_caf7dbb9aa8a

Code Like Sync, Works Like Async

滴滴普惠出行

Apache Pulsar 社区周报|09-05 ~ 09-11

Apache Pulsar

开源 云原生 Apache Pulsar 消息中间件

升级Php Curl扩展遇到的坑

心平气和

php curl php扩展

Docker Swarm 集群管理利器核心概念扫盲

哈喽沃德先生

Docker Docker Swarm 容器

Spring 5 中文解析数据存储篇-理解Spring事物抽象

青年IT男

Spring5 数据存储

宁静的可贵

谷鱼

宁静

关于java使用JDBC连接数据库

谷鱼

Java JDBC

【高并发】面试官:说说缓存最关心的问题?有哪些类型?回收策略和算法?

冰河

缓存 面试 引用 offer 回收

手写一个抖音视频去水印工具,千万别刚一个程序员

程序员小富

Java springboot

我擦~字符串转字节切片后,切片的容量竟然千奇百怪

Gopher指北

后端 Go 语言

JDK15正式发布,划时代的ZGC同时宣布转正

YourBatman

ZGC JDK15

学习笔记丨浮点数探究

Liuchengz.

C语言 基本数据类型

食堂就餐卡系统设计

Geek_Albert

食堂就餐卡系统设计

快讯2020第十三届亚洲国际物联网展览会-南京站

InfoQ_caf7dbb9aa8a

GrowingIO 智能运营产品微前端实践

GrowingIO技术专栏

大前端 智能运营

餐卡系统设计文档

龙卷风

面试官:哪些场景会产生OOM?怎么解决?

艾小仙

Java 架构 面试 编程语言 JVM

物流系统架构设计文档

莫莫大人

极客大学架构师训练营

Rust闭包的虫洞穿梭

袁承兴

rust 函数式编程 闭包

全屋智能2020第十三届(南京)国际智能家居展览会

InfoQ_caf7dbb9aa8a

Rust 2019年度调查报告:17%的受访者未使用Rust_编程语言_Rust Survey Team_InfoQ精选文章