序言

前言

当你读到这些文字时,Rust 已经实现了它最大的目标:向程序员们提供机会,让他们用另一种语言编写他们的生产系统。读完本书后,你仍然可以选择是否采用这种方式,但你已经具备了考虑这个机会所需的一切。我参与了两种截然不同的语言:Ruby 和 Rust 的成长历程——不仅参与编程,还举办活动、参与项目管理,并围绕它们开展业务。通过这些,我有幸与许多语言的创造者保持联系,并将其中一些人视为朋友。Rust 是我一生中唯一一次见证并帮助一门语言从实验阶段发展到被业界广泛接受的机会。

我要告诉你一个我一路走来学到的秘密:编程语言的采用并非因为功能清单。这是一个复杂的相互作用,它需要优秀的技术、谈论它的能力,以及找到足够多愿意长期投资的人。当我写下这些文字时,已有超过 5000 人利用业余时间为 Rust 项目做出了贡献,而且通常是免费的——因为他们相信这份赌注。

但你不必为编译器做出贡献,也不必被记录在 git log 中才能为 Rust 做出贡献。

Luca 的书就是这样一份贡献:它为新人提供了一个了解 Rust 的视角,并推广了众多优秀人士的优秀工作。

Rust 从未打算成为一个研究平台——它始终是一门编程语言,

用于解决大型代码库中实际存在的、切实可行的问题。毫不奇怪,它出自一个维护着庞大而复杂代码库的组织——Mozilla,Firefox 的创建者。我加入 Rust 时, 只是怀揣着雄心壮志——但这个雄心壮志是将研究成果产业化,让未来的软件变得更好。凭借其丰富的理论概念、线性类型、基于区域的内存管理,这门编程语言始终面向所有人。

这反映在其术语中:Rust 使用像“所有权”和“借用”这样通俗易懂的名称来指代我刚才提到的概念。Rust 是一门彻头彻尾的工业语言。

这也反映在其支持者身上:我认识 Luca 多年,他是 Rust 社区的成员,对 Rust 了如指掌。但他更深层次的兴趣在于通过满足人们的需求,让他们相信 Rust 值得一试。本书的标题和结构体现了 Rust 的核心价值之一: 在编写可靠且有效的生产软件中发现它的价值。

Rust 的优势在于,它倾注了人们的精力和知识,从而高效地编写出稳定的软件。这种体验最好通过指南来获得,而 Luca 就是你能找到的关于 Rust 的最佳指南之一。

Rust 并不能解决你所有的问题,但它努力消除各种错误。有一种观点认为,语言中的安全特性是因为程序员的无能。我不认同这种观点。 Emily Dunham 在 2017 年 RustConf 主题演讲中完美诠释了这一点:“安全代码让你能够更好地承担风险”。Rust 社区的魅力很大程度上在于其对用户的积极看法:无论你是新手还是经验丰富的开发者,我们都信任你的经验和决策。在这本书中,Luca 提供了许多即使在 Rust 之外也能应用的新知识,并在日常软件实践中进行了详尽的解释。祝你阅读、学习和思考愉快。

Florian Gilcher,

Ferrous Systems 管理总监兼

Rust 基金会联合创始人