Rust 语言 2020 调查报告发布:“Rust 太难,生命周期更难”

开发 前端
Rust 官方博客发布了 2020 年度的 Rust 调查报告。此次调查共收到以 14 种不同语言完成的 8323 份回复,使用英语的受访者人数占比最高,为 75%,其次是 5.4% 的中文受访者以及 5.3% 的俄语受访者。

Rust 官方博客发布了 2020 年度的 Rust 调查报告。

此次调查共收到以 14 种不同语言完成的 8323 份回复,使用英语的受访者人数占比最高,为 75%,其次是 5.4% 的中文受访者以及 5.3% 的俄语受访者。基于此,官方计划从这语言方面改进 Rust 社区,为那些不希望或无法使用英语的人改善 Rust 社区状况。

在所有受访者中,83% 的人声称使用过 Rust(此数据也是历来最高);7% 的受访者表示曾经使用过,但目前不再使用。这些放弃使用 Rust 的受访者被问及为什么放弃时,有 35% 的人直言他们还没学会(或许是由于时间不够),34% 的人则表示是因为自己所在的公司已不使用 Rust,还有 19% 的人指出改用 Rust 比他们目前选择的语言“慢”。

到底谁在使用 Rust 呢?

根据调查报告的介绍,约 40% 从事软件开发的受访者表示会在日常工作中使用 Rust,这些受访者透露的信息还侧面反映了 Rust 在实际工作中有着光明的前景,因为近半数的受访者表示,他们的雇主计划在未来一年内继续招聘 Rust 开发者。

除此之外,在工作中编写大量 Rust 代码的受访者比例也有所增加,44% 的受访者表示他们在工作中产出的 Rust 总代码量在 1 万行以上,而去年这一比例为 34%。

在被问及使用哪种版本的 Rust 时,大部分受访者使用的是稳定版,其次是 Nightly 构建版。官方表示 2020 年他们在清理代码库和提升稳定性方面投入了许多时间和精力,虽然这项工作目前尚未完成,不过从受访者的反馈来看,Rust 的整体稳定性一直在提升。

之所以有如此多的用户选择 Nightly 构建版本主要是因为他们使用了 Rocket Web 框架,恰好 Rocket Web 框架依赖的就是 Rust Nightly 构建版。不过此框架已宣布下一版本将使用 Rust 稳定版进行编译。另外一个原因是他们需要使用 Nightly 构建版的 const 泛型功能。令人感到意外的是,使用 Nightly 版本的部分用户觉得 Nightly 的稳定性足以满足他们的要求,而且还能更快尝试新特性,这也是他们选择 Nightly 而非稳定版的原因。

互操作性方面,当受访者被问及希望 Rust 能与哪种语言进行互操作,C++ 是最热门的选择,其次是 C 和 Python。实际上,对于使用大型代码库(100000 行或更多的代码)的开发者而言,与 C++ 的互操作是改善他们 Rust 开发体验和提升开发效率的常用手段。

说到开发效率,Rust 在编译时间和库支持方面也得到了不错的反馈。50.5% 的受访者表示感觉到了进步,他们认为编译时间已经缩短。库支持方面,有开发者表示希望看到 Rust 对 GUI 开发的支持,以及提升在异步编程方面的成熟度。

最后是关于 Rust 学习难度的问题,这也是 Rust 长期被“吐槽”的地方。此次调查中,当受访者被问及对于提升 Rust 的采用率有何建议时,许多人提到的一个方案是降低 Rust 的学习难度。15.8% 的受访者表示,如果“不那么令人恐惧、更容易学习或不太复杂”,他们会更多地使用 Rust。受访者还指出可以将文档和培训作为切入点。

再具体到特定主题的难度时,许多人认为 Rust 的“生命周期(Lifetimes)”难度最高,其次是 Ownership,61.4% 的受访者表示,生命周期的使用既棘手又非常困难。

 

责任编辑:未丽燕 来源: OSCHINA
相关推荐

2023-06-16 14:29:04

Jira开发Confluence

2023-08-09 09:07:21

Rust调查报告

2012-08-15 10:30:50

调查报告

2021-09-30 09:34:27

服务器Netcraft计算机

2021-08-03 14:05:41

NetcraftWeb服务器调查报告

2021-08-31 09:47:42

服务器Netcraft调查报告

2024-01-08 22:08:48

Rust生命周期编程

2013-04-25 10:03:37

艾默生报告艾默生网络能源

2019-06-24 08:52:22

Java开发代码

2021-01-14 07:44:21

JS 现状CSS

2013-12-27 13:45:43

手机

2013-01-21 14:22:39

IT产业生态系统

2009-06-09 14:29:22

VPNSSLFrost

2022-04-15 16:02:57

IT调查报告

2012-02-24 09:16:51

2023-03-16 11:35:48

报告

2021-08-04 12:01:41

开发者RustPostgreSQL

2009-06-01 14:43:47

2010-01-06 11:38:25

虚拟化灾难备份

2010-07-08 11:37:34

MSN汽车消费
点赞
收藏

51CTO技术栈公众号