发布时间:2024-09-04 19:01
新的一年即将到来,这意味着一份新的Rust调查将出炉,这是Rust的第三次年度调查。今年首次推出了多语种调查,包括英语在内总共有14种语言。非英语语言的反馈占比25%,整体创下了5991个反馈的新记录。
除了反馈数量有所增加,今年参与调查的Rust用户比例也比以往有所增加。与去年的66.9%相比,今年有近四分之三的反馈来自Rust用户。
Rust的新用户在源源不断地增长。约有23%的Rust用户使用Rust的时间为3个月或更短,近四分之一的用户使用Rust至少2年时间。
超过40%的Rust用户在使用不到一个月时就感到Rust给他们带来的效率提升,超过70%的人在使用一年左右感觉到效率提升。但用户之间存在明显的差异,仍然有超过22%的用户尚未感觉到效率提升。
大约25%的用户在使用Rust一个月左右仍然感觉不到效率提升,所有有必要帮助用户找到提升效率的方法,以免他们陷入困境。
随着整体投入的增加,Rust的项目规模越变越大。Rust的中到大型投入(分别为超过1万行代码和10万行代码)从2016年的8.9%增长到2017年的16%,今年增长到23%。
我们也看到了Rust常规使用量的增长。每天使用Rust的用户去年占17.5%,今年已接近四分之一。总体来说,每周使用Rust的用户从60.8%上升到66.4%。
Rust的专业技能等级不是一条简单的曲线,它有两个高峰:一个是“3”,另一个是“7”,这表明用户倾向于认为自己只是初学者,或者经验丰富,但不一定是专家。
Rust用户普遍认为Enums和Cargo是比较简单的概念,其次是Iterator、Module和Trait。接下来是更难一点的Trait Bounds和Unsafe。最后,最难的是Macros、Ownership \u0026amp; Borrowing和Lifetime。这些难点与我们过去几年收到的反馈很相似,它们将继续成为提高生产力的改进重点,如NLL和Macro系统改进。
我们发现,Rust实际上并不是用户最熟悉的顶级编程语言,它位于Python之后,屈居第二。
使用当前稳定版本的用户数量与去年类似,但让人感到些许惊讶的是,在工作流程中使用Nightly构建版本编译器的用户数量有所增加。使用Nightly构建版本的用户数量两年来在持续上升,现在超过了56%(高于去年的51.6%)。
当被问到为什么使用Nightly构建版本时,人们回应的原因有很多,包括:访问2018版本、asm、async/await、clippy、嵌入式开发、rocket、NLL、proc宏和wasm。
这个数字与去年相比差不多,有7.4%的人表示他们经历过这种情况。
通常只是一些小的修复,但也有些人报告说,会有一些中等或主要的修复。
通过rustup来安装的占了90%,然后是Linux发行包,占17%。
使用rustfmt和rustdoc的最多,然后是clippy——尽管用户较少,但使用它的用户很喜欢这个工具。IDE支持工具Rust Language Server和racer也得到了积极的支持,但在调查中也出现了一些不喜欢的投票和评论。bindgen具有相对较小的用户群。
Linux仍然是Rust开发人员的大本营,大约80%的Rust开发人员在Linux上开发。Windows的使用量从去年的31%略微增长到今年的34%,这是它连续第二年出现增长。
Linux和Windows仍然是Rust应用程序的主要目标平台。其他平台与去年大致相同,但有一个例外:WebAssembly。这项新技术取得了令人瞩目的增长,从去年的13%增长到今年的24%,几乎翻了一番。
领跑两年的Vim现在终于被VSCode击败了,VSCode从去年的33.8%增长到今年的44.4%。
Rust在工作场所中的增长继续呈现出缓慢而稳健的态势。全职和兼职使用Rust从去年的4.4%全职和16.6%兼职增长到今年的8.9%全职和21.2%兼职。全职Rust商业用途增加了一倍。总的来说,Rust的商业使用总量从去年的21%增长到略高于30%。
在公司采用方面,Rust有更多的增长空间。超过三分之一的用户表示,目前还没有考虑在未来一年尝试使用Rust。也有将近一半的非Rust用户表示这需要公司的支持,这表明需要从公司方面进行拓展或需要让公司了解更多有关Rust的信息。
Rust社区工作的一个重要组成部分是确保Rust项目对用户来说是一个温馨的地方。新用户应该能够感到他们被鼓励去探索和分享想法,并且让他们做最好的自己。
Rust用户和非Rust用户都感觉受到社区的欢迎,尽管还有超过四分之一的人表示不确定。这些反馈中也存在一些区域差异。例如,来自俄罗斯的反馈显示,感觉自己不受欢迎占比为4%,而中国为8%。
认为自己在技术方面代表性不足的人数在逐年增长。调查显示,Rust女性从业者仍然低于行业平均水平。
在放弃使用Rust的人当中,超过50%的人在不到一个月的时间内放弃使用Rust。同样地,大约50%放弃使用Rust的人在放弃之前使用了超过一个月时间。
很多非Rust用户表示他们确实想学习Rust,但一些因素会影响到他们。首先是他们所在的公司本身不使用Rust。近一半的非Rust用户因缺乏公司支持而受阻。此外,由于Rust过于复杂,给四分之一的非Rust用户造成了阻碍。
跟往年一样,我们会问受访者,Rust有哪些地方需要改进。今年,我们在反馈中看到了一些熟悉的主题以及一些新的主题。今年的十大主题是:
今年,“支持GUI开发”的需求在不断增长,这说明Rust不仅在服务器端继续在增长,而且人们感觉将Rust需要延伸到应用程序开发中。
“需要改善Rust营销策略,很多人都不知道它。”
虽然Rust在某些圈子中可能是众所周知的,但它仍有成长空间。在很多科技领域,Rust可能还不为人所熟知。
“专注于提高采用率、教程、书籍、新手经验培养等方面,这些将在未来几年带来好处”。
除了外展之外,更多更好的文档将吸引到更多的受众。
“开发者工具的稳定性和成熟度让开发环境的搭建和应用程序的调试变得更容易。”
很多人提到了IDE支持,不仅指出了RLS的不稳定性和不准确性,还提出了更多的IDE支持,比如调试的便利性。
“生态系统和库的成熟度很重要,一个良好的“标准”库生态系统是该语言未来成功的关键。”
受访者强调,需要更完善的库并增加用户可以使用的“标准”库。一些评论指出,这不是维护者的错,他们已经在努力开发和发布这些库,但需要更多的公司参与并提供商业支持。
“人体工学和涵盖一切的文档。”
有些人指出,人体工学应该与更丰富的文档齐头并进,因为它们并非相互独立的概念,应该通过统一的方式将它们融合在一起。
英文原文:https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html
使用TorchScript和libtorch进行模型推理[附C++代码]
dolphinscheduler涉及HDFS功能测试(三)spark task
html中箭头函数有什么意义呀,什么是ES6箭头函数?与普通函数主要区别在哪里?到底该不该使用箭头函数?...
ThingsBoard 使用 REST API HTTP 方法获取遥测数据 属性数据等
go grpc: connection reset by peer 的一种解决方案
网络安全工程师教你:Kali Linux之Metasploit渗透测试基础(四)