当前位置:   article > 正文

【三万言】今年 Rust 语言出圈了!下一代系统语言 Rust 前沿报告

前段时间火起来的编程语言rust现在怎么样

前言

Rust是一种一旦了解就会产生使用欲望的语言,Rust 语言连续八年蝉联 stackoverflow 开发者调查问卷 最受欢迎编程语言榜首就是最好的证明。

但比起“最受欢迎”的连胜纪录,增长的使用率更加值得关注。与2022年的调查相比,它在所有受访者中增长了3.7个百分点,现在紧随 Go 之后。

人们对 Rust 语言普遍的抱怨来自没有太多的 Rust 工作岗位。然而,Rust 语言已经在一些至关重要的基础领域开始铺垫。是否普遍使用不是评价一门语言的唯一标准,更好的方法是看这个工具在哪里被使用以及这个使用案例的重要性。

这也是本文的写作目标。希望大家通过这篇文章对 Rust 语言有一个全面且客观的认识。

在写本文之时,TOIBE 编程语言九月排行榜出炉,Rust 排名上升到第 17 位。

2e379e7e0973d7dd3e43f8e9dbe1be07.png

并且,Jetbrains 也宣布发布独立的 Rust IDE : RustRover。拥有独立的商业 IDE,不是说这个 IDE 最好,而是意味着 Rust 迈入主流语言行列。

总之,今天是 Rust 出圈的一年。

本次报告的所有内容都来自于互联网公开信息,如有错误或不宜在本报告中提及的内容,请及时告知。往年的 Rust 生态报告参见附录。

大纲

  • Rust 语言及其生态现状总览

    • Rust 语言现状:特性、优势和挑战

    • Rust 开源社区治理:组织结构、贡献者以及影响力

    • Rust 生态总览:主流库和框架

  • 深入 Rust 应用领域

    • Rust 在全球商业巨头中的应用

    • Rust 在高科技和工业领域中的采用案例

  • Rust 语言实践经验漫谈

    • 如何从成功的 Rust 项目案例中学习:项目背景、架构设计、实现亮点

    • Rust 与 C/Cpp 交互实践:FFI 使用和安全性

  • AI 时代 与  Rust 语言学习

    • Mojo vs Rust

    • 让 AI 成为自己的学习助手

  • 附录:往年的 Rust 生态报告

Rust 语言及其生态现状总览

要了解 Rust 语言及其生态现状,我们依然可以从 Rust 语言设计原则出发。

而 Rust 语言的设计原则本身也是不断发展变化而沉淀的。在 Rust 诞生的开端,是由 Rust 团队内部一些可以主导 Rust 语言设计的人员遵循共同的某种思想来创造 Rust 。在前 Rust 核心团队成员 Brson 在 2021 年写的《造就 Rust  的无名英雄》一文中透露了早期引领 Rust 设计的重要幕后人物戴夫·赫尔曼( Dave Herman)为 Rust 发布稳定版 v1.0 所做的诸多奠基性的贡献。

Rust 稳定版 v1.0 发布之后,又经历了六年的发展(2015-2021),由 Rust 语言团队作为 Leader  的 Niko 提出了更加具体和广泛的 Rust 语言原则《Rustacean  Principles 》 ,其中不仅仅包含了 Rust 语言该如何设计的原则,而且还包含了 Rust 语言开源社区成员(Rustacean)们如何更好地参与社区活动的原则。

这些原则可以概括为以下三个重要方面:

  • Rust 是什么

    • Rust 语言是一种让每个人都能构建可靠高效软件的语言。

    • 一个专注于创建、设计和维护该(Rust)语言及其生态系统的开源社区。

  • Rust 语言设计:Rust 如何为用户赋能,Rust 语言的设计是以下原则的权衡。

    • 与支持性和生产力相矛盾。

    • 通过以某种方式向Rust程序暴露所有核心系统功能,并应该使用 unsafe Rust 来避免让用户降级去使用 C 。

    • 与支持性和生产力相矛盾,因为透明性通常需要暴露更多细节。

    • 通过让 Rust 变得更加透明来保证透明性,努力避免那些会对全局产生成本的特性(即即便用户未用到的特性也会在运行时产生成本的特性)。

    • 与 可靠性和性能相矛盾。

    • 通过保证版本的稳定性和打造繁荣的生态来提升生产力。

    • 与可靠性 和 多样性 相矛盾。

    • 通过优化开发中体验,提供更好的工具来增强支持性。

    • 与 支持性 和 某种情况下的生产力 相矛盾,用户可能无法从其他语言的某些习惯中获得便利。

    • 与 透明性 和 多样性 相矛盾。许多优化依赖于事物发生的顺序和方式的透明度。

    • 依赖于零成本抽象和只提供捕捉用户意图的适当的细节。

    • 与 生产力和支持性相矛盾。因为可靠要依赖各种检查,这些检查会影响系统的构建难度。

    • 与 多样性 相矛盾,因为可靠性的能力总是有限的,那么也会影响用户所能构建系统的领域范围。

    • 依赖类型安全和使用多种机制鼓励用户不隐藏发生错误的条件来保证可靠性

    • 可靠性(⚙️ Reliable)。如果它编译,它就可以工作。

    • 高性能(

      声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/56270
推荐阅读