


资源介绍
当你读到这些文字时,Rust已经达成了其最重要的目标:向程序员们发出邀请,让他们用一种截然不同的语言来编写自己的生产系统。读完本书后,是否选择这条道路依然取决于你,但你已具备所需的一切知识来权衡这一邀请。
我曾亲身参与过两种截然不同的语言——Ruby和Rust——的成长过程:我不仅用它们进行编程,还组织相关活动、参与项目管理,并围绕它们开展业务。在此过程中,我有幸与这些语言的众多创作者保持联系,并将其中一些人视为朋友。Rust是我此生唯一一次见证并助力一种语言从实验阶段成长为行业采用的语言。
我要透露一个在此过程中学到的秘密:编程语言的采用并非基于功能清单。它是优秀技术、有效传播能力以及找到足够多愿意下长期赌注的人之间复杂相互作用的结果。当我写下这些文字时,已有超过5000人为Rust项目做出了贡献,他们常常是在业余时间免费贡献——因为他们相信这个赌注。但你无需为编译器做出贡献或被记录在Git日志中,就能为Rust做出贡献。卢卡(Luca)的这本书就是这样的贡献:它为新手提供了Rust的视角,并宣传了众多人的优秀工作。
Rust从未打算成为一个研究平台——它一直被视为一种编程语言,旨在解决大型代码库中真实、具体的问题。因此,它出自一个维护着非常庞大且复杂代码库的组织——Mozilla
(Firefox的创造者)——也就不足为奇了。当我加入Rust时,那还只是一个雄心壮志——但那个雄心壮志是将研究工业化,以使明天的软件变得更好。尽管Rust具有所有这些理论概念,如线性类型、基于区域的内存管理,但这种编程语言始终旨在面向所有人。这体现在它的术语上:Rust使用易于理解的名字,如“所有权(Ownership)”和“借用(Borrowing)”,来指代我刚才提到的概念。Rust是一种彻头彻尾的行业语言。
这也体现在其支持者身上:多年来,我一直将卢卡视为社区中一位对Rust津津乐道的成员。但他更深层次的兴趣在于通过满足人们的需求来说服他们尝试Rust。本书的标题和结构反映了Rust的核心价值观之一:在编写可靠且能正常工作的生产软件中发现其价值。Rust在编写稳定软件时所投入的精力和知识,展现了其强大的实力。有这样一位向导,你才能最好地体验到这一点,而卢卡是你在Rust领域能找到的最好的向导之一。
Rust并不能解决你所有的问题,但它确实在努力消除整类(编程中常见的)错误。有人认为,语言中的安全特性之所以存在,是因为程序员能力不足。我并不认同这种观点。艾米丽·邓纳姆(EmilyDunham)在RustConf2017的主题演讲中很好地阐述了这一点:“安全的代码让你能够承担(更合理的、经过评估的)更好的风险”。Rust社区的许多魅力正源于这种对其用户的积极看法:无论你是新手还是经验丰富的开发者,我们都相信你的经验和决策能力。在本书中,卢卡提供了大量新知识,这些知识甚至可以在Rust之外应用,并且在日常软件实践的背景下得到了很好的解释。祝你在阅读、学习和思考中度过一段美好的时光。