“也许这篇文章可以消除你对 Rust 的诸多误解。
背景
Rustacean 是对Rust 编程语言[1]的用户的称呼。所以,「Rustacean 原则」可以看作是 Rust 官方团队站在 Rust 语言用户角度上创造 Rust 语言时所参考的原则。
“Rustacean 是 Rust crustacean 的混合词。crustacean 是指甲壳纲动物,所以 Rust 社区将螃蟹作为 Rust 语言的吉祥物,称之为 Ferris,中文叫摩天蟹。值得明确的是,该吉祥物并非 Rust 官方指定的,最初由 Karen 在 rustacean.net[2] 网站公布了 Ferris 的概念艺术图。
Rustacean 原则是由 Rust 语言团队 Leader Niko 在 2021 年所发起的项目[3],这个项目试图列举支配 Rust 设计和社区运作方式的原则。Niko 说,这些原则并非代表 Rust 官方而发布,只是他自己的观点。建立原则的重点在于尝试更好地发展原则并且在团队中使用。
虽然这些是实验性原则,但该原则在 Rust 官方内部经过一致性的讨论和认可。从 Niko 今天发布的最新博客Rust 异步trait Part8[4] 和 谈 “Rust 之魂”[5] 中也看得出来,该原则应该已经在使用了。
“去年的时候,因为 Niko 这篇 Rust 原则的文章还引发了社区的一些争议。(前)Rust 核心团队成员 Steve Klabnik 认为 Niko 这篇原则是以亚马逊原则为蓝本的,所以暗示亚马逊在某种程度上对Rust的开发负责。亚马逊雇佣了多名Rust维护者和贡献者,但它只是众多有员工参与的公司之一。Rust库团队负责人Mara Bos的观点却与之相反,她认为Steve的观点“简直是胡说八道”。事情经过一年回头再看原则的这些内容,其实也没有 Steve Klabnik 说的那么离谱,Rust 原则的内容确实对 Rust Project 开发和贡献有指导作用,让大家知道力往哪里使。
今天打算写这篇文章,和读者朋友们一起学习一下 Rust 语言创造过程背后所遵循的原则,进一步理解 Rust 的设计哲学。值得说明的是,Rustacean 原则的大部分详细内容 Niko 并没有写完,所以这里有很多细节内容是由我来补充的。
Rustacean 原则概要
Rustacean 原则主要分为两部分内容:
- Rust 语言如何为用户赋能,代表 Rust 和 用户的契约
- Rust 社区如何治理才能更贴近 Rustacean ,代表Rust 团队成员和贡献者之间的一种“契约”。
这份原则总的来说,是为 Rust 的总体目标服务的。Rust 的总体目标是:成为一门赋予每个人构建可靠且高效软件能力的语言。
Rust 如何为用户赋能
这部分原则内容包括:
- 可靠性(⚙️ Reliable)。如果它编译,它就可以工作。
- 高性能(