Rust 如何从一个业余项目发展成为世界上最受欢迎的编程语言?


2009 年,Mozilla 决定正式赞助 Rust。该语言将是开源的,并且只对制作它的人负责,但 Mozilla 愿意通过支付工程师费用来引导它。

在接下来的 10 年里,Mozilla 雇佣了十几名工程师全职研究 Rust。

在 2010 年代初期,Mozilla 工程师和世界各地的 Rust 志愿者逐渐磨练了 Rust 的核心——它被设计用来管理内存的方式。他们创建了一个“所有权”系统,使一个数据只能由一个变量引用;这大大减少了内存问题的机会。Rust 的编译器——将你编写的代码行转换成在计算机上运行的软件——将严格执行所有权规则。如果编码人员违反规则,编译器将拒绝编译代码并将其变成可运行的程序。

Rust 采用的许多技巧都不是新想法,但 Rust 工程师善于发现这些精心设计的概念,并将它们转化为实用、可用的功能。

随着团队改进内存管理系统,Rust 越来越不需要自己的垃圾收集器——到 2013 年,团队已经将其移除。用 Rust 编写的程序现在运行得更快:计算机执行清理时不会定期停止。移除垃圾收集“导致了一种更精简和更简洁的语言”

到 2015 年,该团队着迷于最终发布 Rust 的“稳定”版本,该版本足够可靠,可供公司用来为真实客户制作软件。

Mozilla 的投资很快开始收到回报。2016 年,Mozilla 小组发布了 Servo,这是一种使用 Rust 构建的新浏览器引擎。第二年,另一个小组使用 Rust 重写了 Firefox 中渲染 CSS 的部分,CSS 是一种用于指定网站外观的语言。这一变化给浏览器带来了显着的性能提升。该公司还使用 Rust 重写处理 MP4 多媒体文件的代码,并面临承认不安全的恶意代码的风险。

三星程序员已经开始使用Rust 了。Facebook(后来称为 Meta)使用 Rust 来重新设计其程序员用来管理其内部源代码的软件。

很快,Rust 就出现在一些非常重要的软件的核心中。2020 年,Dropbox 推出了其“同步引擎”的新版本——负责在用户计算机和 Dropbox 的云存储之间同步文件的软件——工程师用 Rust 重写了该引擎。该系统最初是用 Python 编写的

一些公司发现 Rust 减轻了他们对内存错误的恐惧;Mara Bos 使用 Rust 完全重写了她公司用于控制无人机的软件,该软件最初是用 C++ 编写的。 

其他人正在发现放弃垃圾收集的乐趣。在 Discord,工程师们长期以来一直对 Go 中的垃圾收集器——他们用来构建软件关键块的语言——会减慢速度感到恼火。他们的 Go 软件大约每两分钟执行一次该过程,尽管 Discord 的工程师写得非常仔细,没有垃圾需要收集。2020 年,他们用 Rust 重写了该系统,发现它现在运行速度提高了 10 倍。 

亚马逊一项对基于 Rust 的代码的研究发现,它的运行效率如此之高,以至于它使用的电量是用 Java 编写的类似程序的一半,Java 是 AWS 常用的一种语言。因此,我可以创建一个数据中心,其运行的工作负载是我目前的 2 倍,让您可以将一个数据中心塞进城市,而不是将其种植在郊区的田地里。

2021 年,各大科技公司出资成立了一个非营利性 Rust 基金会,以支持志愿编码员。

这种语言不可思议地迅速成长起来。如果说 Rust 诞生于 2006 年,那么它现在正走出青春期走向成熟期。汽车公司正在采用 Rust 来构建运行汽车的关键代码;航空航天公司也在接受它。