Rust语言2020调查报告发布:Rust 太难,生命周期更难
喜欢就关注我们吧!
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% 的受访者表示,生命周期的使用既棘手又非常困难。
2020-12-17
2020-12-17
2020-12-16