序
没人知道阅读某一本技术图书所付出的努力是否值得。这些书可能售价高昂、内容枯燥,并且有可能写得很差。更糟糕的是,很有可能让你什么也学不到。幸运的是,本书的作者十分理解这些情况。
本书的首要目标就是教你使用Rust,为此本书提供了一些较大的、可运行的项目。在学习过程中,你将编写一个数据库、一个CPU模拟器、一个操作系统内核,以及实现一些有趣的项目,甚至会涉足自动生成艺术项目。每个项目的设计都是为了让你能够以自己的节奏来探索Rust编程语言。对不太了解Rust的读者来说,无论你选择哪个方向,都有很多的机会去扩展这些项目。
学习一门编程语言,仅学习相关的语法和语义是不够的,你还需要在相关的社区深入探索。然而,社区中共享的那些知识、术语和实践,对新加入的人而言,很可能就成了无形的障碍。
对许多新的Rust程序员来说,系统编程的那些概念就是这样的障碍—许多刚刚踏入“Rust世界”的程序员并没有这个领域的背景。为了弥补这一点,本书的第二个目标就是帮你掌握系统编程的相关知识。此外,在本书第12章的某些主题中,你还将了解到内存数字时间保持和设备驱动程序是如何工作的。在你成为Rust社区中的一员后,我希望本书的内容能够让你更加游刃有余。期待你的加入!
在人类社会中,各种软件随处可见,而且软件存在一些关键安全漏洞的状况已在人们的可接受范畴之内,甚至被视为正常抑或不可避免的状况。Rust则表明这种状况既不是正常的,也不是不可避免的。此外,计算机中还充斥着各种臃肿的、资源消耗密集型的应用程序。计算机中的资源毕竟是有限的,为了开发出具有较低资源需求的软件,Rust提供了可行的替代方案。
本书旨在为你赋能,让你相信,Rust并不是专门为某些专家预备的,而是一个谁都可以使用的工具。在漫漫学习之旅中,能成为你的“领路人”,我感到荣幸之至!相信你一定能做得很好。