学习 Rust
350 页
Chinese
PDF
4.5

学习 Rust

学习 Rust

作者:

年份:

简介:

引言

由 Paul Johnson 和 Vesa Kaihlavirta 编写、Packt Publishing 于 2017 年出版的《Learning Rust》(中文译名《学习 Rust》)一书,是俄语和英语市场上最早关于 Rust 语言的实用指南之一。在 350 页的篇幅中,作者试图引导读者从语法基础到创建实际应用程序,特别关注内存安全和并发性——这是 Rust 的关键特性。对于面向广大开发者群体的教育网站 PythonLib 来说,这本书作为一个从高级语言(Python、JavaScript)过渡到系统编程、同时不损失性能并保证安全性的范例,颇具参考价值。

本书内容

《Learning Rust》以循序渐进的方式介绍 Rust 生态系统。前几章介绍工具安装、基本语法、所有权(ownership)、借用(borrowing)和生命周期(lifetimes)。随后,作者转向更复杂的主题:泛型编程(generics)、特质(traits)、错误处理、模块系统和测试。单独的章节涵盖集合、输入输出、宏和 FFI(外部函数接口)。本书最后使用 Iron 框架(现已过时)创建一个小型 Web 应用程序,并给出异步编程的示例。

适合读者

本书面向已有 C、C++、Python 或 Java 编程经验的开发者。编程新手可能会感到困难:作者不会从零解释基本概念(循环、函数、数据类型),而是直接进入 Rust 的特性。然而,对于那些希望学习采用现代安全方法的系统编程的人来说,这是一个很好的起点。

读者将学到什么

  • Rust 语法基础:变量、函数、控制结构、所有权和借用。
  • 类型系统:泛型、特质、静态分发、生命周期。
  • 内存管理:无垃圾回收的所有权、借用和生命周期原则。
  • 错误处理:使用 Result 和 Option,? 运算符。
  • 模块化与测试:代码组织、单元测试、文档测试。
  • 并发性:线程、通道、互斥锁、安全状态共享。
  • 宏:声明式宏和过程宏。
  • 与 C 交互:FFI,从 Rust 调用 C 函数及反向调用。
  • 创建 Web 应用程序:HTTP 基础、路由、模板化。

优点

本书的主要优点之一是其实践导向。每章都包含可立即运行的代码示例和巩固知识的练习。作者花费大量精力解释所有权系统——对初学者来说最难的概念——使用直观的图表和类比。此外,FFI 章节在入门课程中很少见,但对系统程序员非常有用。本书语言生动,没有过多的学术色彩,易于理解。

缺点

主要缺点是本书的时效性。Rust 正在积极发展,自 2017 年以来,该语言经历了重大变化:Iron 框架已过时,出现了新功能(例如 async/await,许多库已稳定)。一些示例可能无法在现代编译器版本上编译。此外,本书未涵盖诸如 async/await、WebAssembly、嵌入式编程以及使用流行 crate(例如 serde、tokio)等重要主题。对于初学者来说,第一部分可能有些困难。

推荐