Rust程序设计(第2版)
分类:计算机与软件工程 / 编程语言与开发框架
书籍简介
Jim Blandy、Jason Orendorff、Leonora F. S. Tindall 合著的 Programming Rust, Second Edition 面向已有编程经验、希望理解 Rust 系统编程能力的读者,将内存安全、类型表达与高效执行联系起来。
适合带着 C、C++ 或其他语言的经验阅读,但不要急于把旧写法直接翻译成 Rust。先理解所有权、借用和生命周期,再观察这些约束如何影响接口设计。
版本说明
本页对应汪志成翻译、人民邮电出版社 2023 年版《Rust程序设计(第2版)》,ISBN 9787115621818。中文书目与作者示例仓库已交叉核对,下面按其 23 章整理,部分章名作简短转述。这不是 Steve Klabnik、Carol Nichols 的 The Rust Programming Language,不混用两部书的目录。
作者与背景
作者为 Jim Blandy、Jason Orendorff、Leonora F. S. Tindall。O’Reilly 的日文第2版介绍确认三位作者,并将本书与 Rust 在 Firefox 等系统开发中的实践联系起来;作者示例仓库提供可继续检验的代码。其价值在于把语言规则与系统编程问题相连,不能把作者经验理解为代码永远兼容后续工具链。
目标读者
适合已有一门语言经验、愿意重新理解资源所有权的开发者,尤其是关心系统控制、内存与并发的人。完全零基础读者可能需要补基础程序设计;只想快速完成 Web 项目的人可按主题选读。
章节介绍
| 章节 | 核心内容 |
|---|---|
| 第1章 系统程序员也能拥有美好工具 | 说明安全性、性能与系统控制之间的目标,介绍 Rust 的设计立场。 |
| 第2章 Rust 概览 | 通过完整小程序认识工具链、类型检查和并发计算的基本面貌。 |
| 第3章 基本类型 | 理解数值、数组、切片和字符串等类型及其表示差异。 |
| 第4章 所有权与移动 | 分析值由谁负责释放,以及赋值和传参何时转移所有权。 |
| 第5章 引用 | 解释共享借用、可变借用与生命周期约束,建立对象有效期的判断方法。 |
| 第6章 表达式 | 介绍控制流、模式与表达式求值,让代码结构与数据流相匹配。 |
| 第7章 错误处理 | 区分可恢复错误与 panic,使用 Result 组织错误传播。 |
| 第8章 crate 与模块 | 讨论包组织、可见性和依赖,将代码整理成可复用的边界。 |
| 第9章 结构体 | 用结构体与方法表达数据及行为,理解泛型结构体的用途。 |
| 第10章 枚举与模式 | 用代数式的数据建模表达状态,借助匹配检查处理是否完整。 |
| 第11章 trait 与泛型 | 通过约束表达共享行为,比较泛型与 trait 对象的使用情形。 |
| 第12章 运算符重载 | 理解标准运算符对应的 trait,以及自定义类型的语义一致性。 |
| 第13章 实用 trait | 学习转换、解引用、比较等常用 trait 如何参与标准库协作。 |
| 第14章 闭包 | 分析环境捕获及 Fn 系列约束,连接回调与所有权。 |
| 第15章 迭代器 | 用惰性迭代和适配器组织数据处理,理解迭代中的借用与消耗。 |
| 第16章 集合 | 比较常用集合的性能与访问特点,根据数据关系选择结构。 |
| 第17章 字符串与文本 | 处理 UTF-8、字符与格式化,避免把字节下标误当字符位置。 |
| 第18章 输入与输出 | 使用流、文件和网络接口,组织缓冲与错误处理。 |
| 第19章 并发 | 讨论线程、消息传递和共享状态,理解 Send 与 Sync 的作用。 |
| 第20章 异步编程 | 介绍 Future、任务调度和唤醒,区分异步等待与并行执行。 |
| 第21章 宏 | 认识宏展开与语法匹配,理解减少重复代码的适用边界。 |
| 第22章 unsafe 代码 | 分析裸指针与安全不变量,说明局部不安全实现怎样提供安全接口。 |
| 第23章 外部函数 | 通过 FFI 连接其他语言,处理类型、资源所有权和调用约定。 |
读后感
以下为本站阅读评析,用可实践的阅读目标表达收获,不代表书单提供者已经读完、任职或完成相应项目。版本未明时,评析只针对本页明确标注的主题或参考版本。
金句摘抄或阅读提炼
所有权不是多写的规则,而是把资源责任写进接口。
这是本站原创阅读提炼,不是原书引文;没有可核对页码的原文不作逐字摘抄。
个人收获
拿一段“函数返回局部对象的引用”思路,画出数据在哪个作用域释放,再分别考虑返回所有权或由调用者持有数据。对比两种接口后,更容易把借用检查理解为设计约束,而不是只靠 clone 消除错误。
客观评价与阅读建议
系统细节与语言覆盖较深,初学阶段信息量较大;异步、unsafe 和 FFI 也需要额外练习才能消化。建议先读所有权、引用、错误与类型建模,再进入并发;安全类型并不自动证明业务顺序正确或没有死锁。
推荐语(本站原创,非原书引用): 推荐给希望知道 Rust 规则“为何如此”的读者:别急于消掉编译错误,先解释数据由谁负责。
来源与核对入口
- 中文第2版书目与完整目录:中文作者、译者、ISBN 与 23 章结构的核对来源。
- Programming Rust 作者示例仓库:交叉核对作者与多数章节对应的案例;仓库末尾 Foreign Functions 的章号存在重复标注,本页章序以完整中文目录核对。
- O’Reilly 第二版书目入口:本次未能读取其完整目录页面。
- The Rust Programming Language:另一部书的官方入口,用于区分近似书名,不作为本页目录来源。
- O’Reilly:Programming Rust 第2版原著对应信息:核实三位原著作者及第2版新增异步章节;日译版 ISBN 不替代本页中文 ISBN。
继续阅读
- 书籍导读
- 书籍导读
- 书籍导读