Skip to content

Rust 发展历程

Rust 的发展可以看作一次长期工程实验:能否把系统语言的控制力、现代语言的工程体验和强安全约束结合起来。它的演进不是单纯增加语法,而是围绕安全、性能、稳定性和生态协作持续打磨。

起源

Rust 最早由 Graydon Hoare 发起,后来 Mozilla 参与支持。它的早期目标之一,是为浏览器这类复杂、高性能、高安全要求的软件探索更可靠的系统级开发方式。

Rust 逐步形成了几个核心方向:

  • 接近 C/C++ 的性能和控制力。
  • 编译期内存安全。
  • 无数据竞争的并发模型。
  • 现代包管理和工具链。
  • 语言、编译器、标准库、生态一起演进。

关键时间线

时间事件
2006 左右Rust 作为个人项目萌芽
2009Mozilla 开始赞助 Rust
2010Rust 对外公开
2015-05Rust 1.0 发布,进入稳定时代
2018Rust 2018 Edition 发布,改进模块系统、路径、async 生态基础
2021Rust 2021 Edition 发布,继续改善一致性和长期演进能力
2024Rust 2024 Edition 定稿
2025-02Rust 1.85.0 发布,Rust 2024 Edition 可用
2026-04Rust 1.95.0 发布,是 2026-05-17 时官方发布博客中的最新稳定版

Rust 1.0 的意义

Rust 1.0 代表语言进入稳定承诺阶段。稳定承诺非常重要:开发者需要相信今天写下的代码,未来升级编译器时不会轻易失效。

Rust 采用“稳定通道 + 逐步稳定特性”的方式演进:

  • Stable:日常生产使用。
  • Beta:下一个稳定版本候选。
  • Nightly:实验性功能和编译器内部能力。

大多数项目应使用 Stable。只有确实需要未稳定特性时,才考虑 Nightly。

Edition 机制

Rust Edition 不是大版本重写,而是一种兼容演进机制。它允许语言在保持旧代码可编译的同时,为新代码启用更现代的默认规则。

常见 Edition:

Edition重点
2015Rust 1.0 时代基础语义
2018模块路径改进、生态迁移、异步基础铺垫
2021闭包捕获、预导入、模式匹配等一致性改进
2024进一步整理语言边界和安全默认值,随 Rust 1.85.0 发布

同一个依赖图中可以混用不同 Edition 的 crate,这保证生态可以渐进迁移。

版本发布节奏

Rust 官方稳定版通常约 6 周发布一次。每次版本可能包含:

  • 编译器优化。
  • 标准库 API 稳定。
  • Cargo 改进。
  • Clippy 和 rustfmt 更新。
  • 已稳定语言特性。
  • 平台支持变更。

这种节奏比传统“多年一个大版本”更连续,也让生态能稳定吸收新能力。

语言特性的演进方向

Rust 的演进通常比较谨慎,重点不是追求语法数量,而是保持几类平衡:

  • 表达力与可读性。
  • 性能与安全。
  • 稳定承诺与新特性试验。
  • 底层控制力与高级抽象。
  • 编译器复杂度与用户体验。

例如 async/await、const generics、GAT、let-else、宏系统、错误诊断等能力,都是在较长时间试验后逐步稳定。

Rust 基金会与治理

Rust 项目由社区治理结构推动,Rust Foundation 为语言生态提供组织、法律、资金和产业协作支持。Rust 的设计和实现仍然高度依赖开源社区、工作组、团队和 RFC 流程。

这种治理方式的特点:

  • 语言演进公开讨论。
  • 重要设计通常经过 RFC 或跟踪 issue。
  • 编译器、标准库、Cargo、文档、基础设施都有专门团队。
  • 企业使用和社区贡献并存。

生态成熟的几个标志

Rust 从“有趣的新语言”走向“可生产使用”的关键,不只在语言本身:

  • Cargo 和 crates.io 成为统一依赖入口。
  • rustfmt 和 Clippy 降低团队风格差异。
  • Tokio、Serde、Axum、reqwest、tracing 等基础库成熟。
  • WASM、嵌入式、云原生、区块链等领域形成子生态。
  • Linux kernel 开始接纳 Rust,用于部分内核开发场景。

当前阶段的 Rust

截至 2026 年,Rust 已经不是小众实验语言,但也不是所有领域的默认选择。它更像一种“工程质量导向”的语言:在关键基础设施、性能敏感模块、安全边界、跨平台工具中越来越常见。

Rust 当前仍在持续改善的问题包括:

  • 编译速度。
  • 异步 Trait、生成器等高级能力的易用性。
  • 大型工程增量构建体验。
  • 某些业务框架生态成熟度。
  • 新手学习曲线。

如何看待 Rust 的未来

Rust 的长期价值不只在性能,而在于它推动了一种更强的工程默认值:

  • 不把内存安全视为运行时补救。
  • 不把并发安全完全交给经验。
  • 不把依赖管理和格式化视为项目自定义杂项。
  • 不把底层开发和现代工程体验对立起来。

这也是 Rust 对其他语言生态产生影响的重要原因。

参考资料

别急,先让缓存热一下。