Rust 生态发展之路

Rust 最初是 Mozilla 员工 Graydon Hoare 在 2006 年开始做的私人项目 [1],Graydon Hoare 原来是语言工程师,会参与编译器或工具的实现但并没有参与设计,因此开始有了自己设计语言的想法 [2]。

Rust 语言的设计参考了很多其他语言,在 70 年代末和 80 年代初,编程语言有很多优秀的竞争者,许多好想法并没有转化成广泛使用的系统语言,Graydon Hoare 希望能结合现代编程语言的理论实现这些好想法 [2]。

图片

Rust 基因图谱 [3]

Mozilla 从 2009 年开始赞助这个项目,成立了团队来支持 Rust 的开发,并开始应用于实验性的 Servo 浏览器引擎项目 [1] (2020 年 8 月 Mozilla 大规模裁员,已经基本砍掉了对 Servo 的官方支持,也包括不少 Rust 活跃开发人员 [4])。

2010 年 Rust 首次公开,同年开始改写自托管编译器(基于 LLVM 后端)来替换原来用 OCaml 写的编译器,在 2011 年实现了自我编译 [1]。

第一个稳定版本 Rust 1.0 到 2015 年才首次发布,随后按照“6-week train model”进行发布,可能每天都会产生一个开发版本,固定每 6 周发布一个测试版本,但仍需要经过测试才会合入稳定版本,就像火车一样按照时刻表发车 [5]。

nightly: * - - * - - * - - * - - * - - * - * - *
                     |                         |
beta:                * - - - - - - - - *       *
                                       |
stable:                                *

Rust 2021 的稳定版预计在 10 月发布 [6],经过 11 年的发展,Rust 开源社区已有超过 6000 贡献者 [7],约有 1300 万开发者 [8]。

Stack Overflow 的开发者调研显示只有 7% 的开发者在使用 Rust,对比 JavaScript、Python 等语言,使用 Rust 的开发者占比并不高;但从 2016 年开始,Rust 每年都是开发者最爱的编程语言 [9]。

图片

开发者使用的语言占比 [9]

图片

开发者喜欢和讨厌的语言 [9]

# 最爱的特性 #

首先 Rust 是存在一些不足的,比如学习曲线陡峭,在 2020 年的调研中约 15.8% 的开发者认为如果 Rust 更好学那么应用 Rust 的人会更多,而完善文档和课程是提及最多的方法。Rust 语言概念层次结构如下图 [10]:

图片

Rust 语言概念层次结构梳理 [10]

其中生命周期、所有权等概念对于初学者来说可能难以理解,特别是“生命周期”,有 61.4% 的反馈者认为难以理解或学习困难 [11];

图片

Rust 中最难的话题 [11]

另外编译时间较长也是 Rust 社区一直在讨论的问题,在 2020 年的调研中约半数开发者(50.5%)感觉已经有一定的提升,但缩短 Rust 的编译时间仍然是 Rust 团队接下来的重要任务 [11]。

不过这些不足完全不能掩盖 Rust 的突出优势。

Rust 设计的目标人群是“被 C++ 所困扰的开发者”。C/C++ 一直是系统编程的首选,但由于内存安全、数据竞争等引起的问题也一直存在,Rust 就是为了从语言层面解决这些问题而诞生的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值