Rust编程
Rust编程
简介:
引言
由Jim Blandy和Jason Orendorff合著的《Programming Rust》(第一版,2017年)是Rust语言在稳定化初期出版的最权威、最深入的指南之一。尽管自出版以来已过去数年,且第二版(2021年)也已问世,但第一版对于所有希望理解Rust基本原理、其哲学思想以及系统编程特性的人来说,仍然是一份宝贵的资源。该书为精装本,共622页,涵盖了从基础到高级的各类主题。
本书内容
《Programming Rust》不仅仅是一本语法参考书。它是一本完整的教材,循序渐进地引导读者学习该语言,从工具安装开始,一直到所有权、借用、生命周期、闭包、迭代器、多线程和unsafe代码等复杂概念。本书的编排旨在不仅传授知识,更让读者理解为什么Rust要如此设计。书中特别关注类型系统和内存模型——这是Rust与C++及其他系统语言的关键区别。
适合读者
本书面向已有其他语言(C、C++、Python、Java、Go)编程经验的开发者。对于编程新手来说可能有些难度,但对于希望从其他语言转向Rust的人来说,这是一个理想的起点。作者假设读者熟悉基本概念:指针、栈、堆、编译、数据类型。如果你已经在使用Rust,但希望加深对其内部机制的理解,这本书同样会很有帮助。
读者将学到什么
- Rust语法和语义基础:变量、函数、结构体、枚举、模式匹配。
- 所有权(ownership)、借用(borrowing)和生命周期(lifetimes)系统:确保无垃圾回收的内存安全的关键概念。
- 类型系统:泛型编程(generics)、特质(traits)、分发、静态与动态绑定。
- 闭包(closures)和迭代器:Rust的函数式特性及其高效使用。
- 内存管理:Box、Rc、Arc、RefCell、Cell——智能指针与内部可变性。
- 多线程与并发:Send、Sync、互斥锁、通道、原子操作。
- Unsafe Rust:何时以及如何使用不安全代码,原始指针操作,FFI(与C交互)。
- 宏:声明式宏和过程式宏的创建。
- 测试与文档:内置测试工具,编写文档。
本书优势
首先引人注目的是其清晰性和结构性。作者不仅仅是罗列事实,而是解释语言背后的逻辑。例如,关于所有权和借用的章节写得非常通俗易懂,即使是复杂的概念也变得清晰明了。其次是大量实践示例。每个主题都附有简短但完整的程序,可以立即运行并进行实验。第三是深度。本书不避讳深入探讨:涵盖了诸如Vec的内部结构、分配器的工作原理、内存模型等主题。这使得读者不仅能使用Rust,还能理解“引擎盖下”发生了什么。最后,翻译质量(就俄语版本而言)很高,术语统一且符合既定规范。
推荐人群
本书对以下人群非常有用:
- 希望转向更安全但性能同样出色的语言的C/C++开发者。
- Python、Java、Go程序员,