Rust 一周年

2016 年 5 月 16 日 · Aaron Turon

Rust 是一门能为你提供以下特性的语言:

  • 毫不妥协的性能和控制力;
  • 防止包括经典并发陷阱在内的多种类型的 bug;
  • 符合人体工程学的设计,其易用性通常可以媲美PythonRuby等语言。

它是一门用于编写高度可靠、速度惊人的软件,并且能从中获得乐趣的语言。

昨天,Rust 满一岁了。

Rust 数据

在过去的 365 天里,发生了很多事情

  • 核心存储库增加了由 702 位贡献者提交的 11,894 个提交
  • 合并了 88 个RFC
  • 引入了 18 个编译器目标;
  • 发布了 9 个版本;
  • 实现了 1 年的稳定性交付

在今年的平均每周,Rust 社区合并了两个 RFC,并发布了 53 个全新的crates。没有哪一天没有至少一个 Rust 新库进入中央包管理器。在今年的 StackOverflow 调查中,Rust 荣登“最受欢迎的语言”榜首。

说到数据:我们最近发起了我们自己的调查,无论您是 Rust 的老手还是从未使用过它,我们都希望收到您的反馈。

我们有一项数据还没有达到我们的期望:社区多样性。我们一直在进行本地推广工作,但 Rust 社区团队很快将根据 Bridge 模型(例如 RailsBridge)发起一项协调的全球性工作。如果您想参与其中,或者有其他推广的想法,请告知社区团队

Rust 在生产中

今年有更多公司选择 Rust。每家公司都有自己的故事,但有两个故事尤其令人印象深刻。

首先是 Dropbox。在过去的几年里,该公司一直在秘密地致力于从 AWS 迁移到其自己的基础设施。这项迁移(现已完成)包括开发定制硬件以及驱动它的软件。虽然 Dropbox 的大部分后端基础设施在历史上都是用 Go 编写的,但对于某些关键组件而言,内存占用和缺乏控制阻碍了他们实现他们所追求的服务器利用率。他们用 Rust 重写了这些组件。正如该项目的首席工程师 Jamie Turner 所说,“Rust 的优势很多:非常强大的抽象能力,没有 null,没有段错误,没有内存泄漏,同时还具有 C 语言般的性能和对内存的控制。”

其次是 Mozilla。他们长期以来一直在开发 Servo 作为 Rust 中的研究浏览器引擎,但他们的第一个生产 Rust 代码是通过另一种途径发布的:Firefox。在 Firefox 45 中,没有任何宣传,用于 mp4 元数据解析的 Rust 代码发布给了 OSX 和 64 位 Linux 用户;它将在 48 版本中面向 Windows 用户发布。该代码目前以测试模式运行,其结果与传统的 C++ 库进行比较:在 10 亿次报告的执行中,正确率达到 100%。但这只是冰山一角:在为 Rust 集成奠定了大量基础之后,Firefox 准备引入大量的新的 Rust 代码,包括来自 Servo 的组件,而不仅仅是在测试模式下。

我们从其他一系列正在将 Rust 投入生产的商店那里听到了类似的故事:Rust 帮助团队发挥出超乎其规模的作用。它提供了与传统系统语言相同的许多优势,同时更易于上手、更安全且通常更高效。

这些只是 Rust 在生产中的几个故事,但我们很乐意听到您的故事

Rust 的改进

当然,Rust 本身也没有停滞不前。它第一年的重点是发展和完善其生态系统和工具

  • 平台和目标。Rust 的内存占用并不比 C 大多少,这使得它非常适合在各种场合中使用。在过去的一年中,Rust 获得了直接使用 Windows 上的原生 MSVC 工具链、以 musl 为目标(从而创建一个可以在不依赖于任何Linux 版本的情况下使用的二进制文件)、以 Android 和 ARM 设备为目标以及更多平台的能力。新的 rustup 工具可以轻松管理和编译这些各种目标。从 Rust 1.6 开始,您可以在不使用其完整标准库的情况下使用 Rust,仅限于不需要任何操作系统服务的核心库(因此适用于用 Rust 编写操作系统 )。最后,用于将 Rust 代码嵌入到其他上下文(例如 node.jsRubyGo)的库也越来越多。
  • 核心语言。我们今年有意识地保持一个列表简短:核心语言的增长。虽然我们有一些重要的特性正在开发中(例如改进的错误处理更灵活的借用规则特化),Rust 用户总体上对核心语言感到满意,并且更希望社区关注生态系统和工具。

关于 Rust 世界中发生的事情和即将发生的事情,还有很多要说的 - 在接下来的几个月里,我们将使用此博客来说明它。

Rust 社区

事实证明,人们喜欢聚在一起讨论 Rust。我们在去年八月举办了一场门票售罄的 RustCamp,并在 2016 年举办了多场即将到来的活动

  • 2016 年 9 月 9-10 日:美国俄勒冈州波特兰市首届 RustConf
  • 2016 年 9 月 17 日:在德国柏林举行的欧洲社区会议 RustFest
  • 2016 年 10 月 27-18 日:在美国宾夕法尼亚州匹兹堡举行的 Rust 会议 Rust Belt Rust
  • 全球 71 个与 Rust 相关的 聚会小组。

这并不奇怪。从个人角度来看,使用 Rust 最棒的地方在于它的社区。很难解释加入这个群体是什么感觉,但有两点特别突出。首先,是它强大的活力:每周都会发生很多事情,以至于Rust 本周动态对于任何希望跟上进度的人来说都是至关重要的资源。其次,是它热情好客的精神。Rust 的核心信息是赋能——你可以无畏地编写安全、底层的系统代码——这在社区中得到了体现。我们在这里都是为了学习如何成为更好的程序员,并在这样做时互相支持。

现在是开始使用 Rust 的最佳时机,无论是通过参加当地的聚会,在用户论坛上打招呼,观看一个演讲,还是阅读这本书。无论您以何种方式加入,我们都会很高兴有您。

Rust,生日快乐!