Rust 编程
Rust 编程
简介:
引言
由 Jim Blandy、Jason Orendorff 和 Leonora Tindall 合著的《Programming Rust》(中文译名为《Rust 编程》)是 Rust 语言领域最权威、最深入的指南之一。该书于 2021 年出版(第二版),涵盖了直至 Rust 2021 版本的所有关键语言特性。本书面向有经验的程序员,他们希望深入学习 Rust,而不仅仅是浅尝辄止,以达到能够编写可靠、高性能且安全的系统代码的水平。
本书内容
本书从基础开始:工具安装、语法、类型系统。然而,在最初的几章中,作者就将读者引入 Rust 的核心概念——所有权(ownership)和借用(borrowing)。随后详细讲解了:lifetimes、智能指针、trait、泛型编程、闭包、迭代器、集合、错误处理、输入输出、并发(包括 async/await)、unsafe 代码以及与 C 的交互。每个主题都配有实际示例,并解释了 Rust 为何做出这样的设计决策。
本书适合谁
本书面向已经熟悉 C、C++ 或 Java 的程序员。如果您从未编写过程序,从本书开始会比较困难——作者不会解释循环或函数等基本概念。然而,对于那些希望从其他系统编程语言转向 Rust 的人来说,这是一本理想的教材。
读者将学到什么
- 所有权和借用系统——Rust 如何在没有垃圾回收的情况下保证内存安全。
- Lifetimes——编译器如何检查引用的正确性。
- Trait 和泛型——强大且无开销的抽象系统。
- 并发——如何编写安全的多线程程序。
- Async/await——Rust 中的异步编程。
- Unsafe Rust——何时以及如何绕过安全保证。
- FFI——从 Rust 调用 C 代码以及反向调用。
- 测试和文档——内置工具。
优点
第一个也是最重要的优点是论述的深度。作者不仅展示语法,还解释语言为何如此设计。例如,关于 lifetimes 的章节不仅限于省略规则,还展示了编译器如何推断生命周期。第二个优点是结构:本书逻辑清晰,由浅入深,每个新主题都建立在之前内容的基础上。第三个优点是示例:它们很真实,通常取自实际项目(例如,处理 JSON 解析器)。最后是时效性:第二版涵盖了 Rust 2021,包括已稳定的特性,如 const generics 和改进的 async。
推荐给谁
所有认真打算在生产环境中使用 Rust 的人都必须阅读本书。它将对系统软件、嵌入式系统、Web 服务(通过 async)的开发人员,以及那些希望了解现代编程语言在内存安全方面如何设计的人有所帮助。如果您已经读过《The Rust Programming Language》(官方书籍)并希望深入学习,那么《Programming Rust》将是绝佳的下一步。