学习 Rust 的资源推荐

推荐

排名根据我个人推荐程度排序

Rustlings

Rust 的基础学习,Learn by Doing,建议初学者一定要把这个刷一遍

Zero To Production In Rust

以一个 Newsletter 系统作为例子,全面从零开始讲解了开发一个 Rust Web 程序所需要的几乎一切,特别强调了测试和可观测的重要性(整体使用了 TDD 的方式来组织)

使用 Actix Web 作为服务器、使用 sqlx 作为数据库操作,部署在 DigitalOcean App Platform

Rust Telemetry Workshop

一个专门讲解 Rust 可观测(Traces, Logs, Metrics)的 workshop。想要做 Rust Web 后端的一定要读读这个

100 Exercises To Learn Rust

一整套 workshop,或许可以作为 Rustlings 的替代/补充;但是因为这个出的时候我已经过了初学者的阶段,所以我没有真的上手去做它,但是整套目录体系我看着觉得还是很棒的

陈天 · Rust 编程第一课

极客时间的课程,也是我很喜欢的 Learn by Doing 形式

众所周知国人比较卷…… 上面推荐的海外课程所针对的终点更多的是让你「会用 Rust」,而这门课则让你在 Rust 里面可以走的更深。

虽然这门课确实可以零基础的看,但其实我更推荐你先看完 Zero To Production In Rust 或者刷完 rustlings / 100 exercise to learn rust 等来有一个基本的 rust 知识后再开始「啃」这门课程,这样可以让你在 rust 基础知识比较扎实以后再去玩进阶的东西(不然可能刷完这门课会不想再去看基础课程导致最终缺失一点)

《深入理解 Rust 并发编程》

建议在学习完 Rust 的基础知识后阅读

虽然是一本书,但是并不是完整的讲解,使用时建议更多的去把它当成一个 Rust 并发生态的简介,边阅读边阅读官方文档边实践

注:里面的部分内容有些过时,也有部分代码无法编译甚至直接是错误的,但是仍然建议阅读 —— 用它的介绍当参考,真正的学习请阅读对应 crate 的文档

Learn Rust With Entirely Too Many Linked Lists

通过实现链表让你加深对 Rust 的所有权和 unsafe 的了解,偏高阶,但是想进阶的话强烈推荐下
(学习这个课程前可以先阅读下 https://www.howtocodeit.com/articles/rust-ownership-explained-linked-lists 文章简单了解下链表在 Rust 中的挑战)

proc-macro-workshop

用来练习 Rust 过程宏的编写,进阶学习可用

Rust By Example

算是官方文档的一部分,与 rustlings / 100 exercises to learn rust 不同的是这并不是一整套「体系学习」,更多的是展示,可以在闲暇的时候翻看,有时候可以学习到一些被忽略的却很实用的技巧

《The Rustonomicon》

讲解了「Rust 底层原理」,供最终进阶了解 Rust 实现使用

除了用于更进一步了解 Rust 以外,如果计划使用 ffi、裸指针、unsafe、 nostd 等情况,也建议认真阅读本书

注:与其他的课程书籍等不同,这个更像是文档类的存在,会持续根据 Rust 最新的内部实现更新

rCore-Tutorial-v3

清华大学操作系统课程,利用 Rust 实现

这个之所以放到最后并不是因为我不推荐,而是因为它更多的其实是操作系统相关的内容而不是 Rust,当然还有另一方面是我自己没做。。

总之,如果有时间有野心,想用 Rust 完整实现一个操作系统,Rust 侧想了解更多的裸指针、汇编内容,建议学习本课程

不推荐

我其实不是很想「不推荐」一些东西(毕竟算是在得罪人……),但是下面这两个真的很出名、很多人看、甚至很多人推荐,但我却觉得其内容质量完全配不上它的名气,列出来主要是为了防止一些看到其他推荐的人看这个最后浪费时间/金钱

《Rust编程之道》

这本书其实就是个 Rust 语法介绍,这种书更适合当大学教材用而不是自学。我更推荐上面各种 Learn by Doing 的在线资源,如果想要去了解语法也更推荐直接阅读官方的 The Rust Programming Language

张汉东的 Rust 实战课

买这个课的估计都是因为作者的名气(好吧我也是),但是这门课真的就是一个「照本宣科」,枯燥乏味可以类比某些让人昏昏欲睡的大学课程