6.4 万星、3,380 次提交:Rust 官方为什么会把这个「课后习题集」维护了快十年

6.4 万星、3,380 次提交:Rust 官方为什么会把这个「课后习题集」维护了快十年

如果你想学 Rust,大概率会先去读那本厚重的《The Rust Programming Language》。但你可能不知道,Rust 官方团队还维护着另一套学习资源——一个完全围绕「写代码」设计的练习引导工具:rustlings。

这个项目今年悄悄突破了 6.4 万星,3,380 次提交,424 位贡献者,刚刚发布了 v6.5.0。《CSDN》的一篇学习路径对比文章的数据更能说明问题:纯看书的人,完成率只有 60%;用 rustlings 刷题的人,学习效果(能独立写简单项目)达到 85%,平均 3 周即可完成全部练习。

一个练手工具,凭什么活了快十年?

rustlings 的设计逻辑非常直接:每个练习都是一个带有「故意错误」的 Rust 文件,你运行 rustlings watch,它会实时监测你的修改,一旦你把错误改对,练习就自动通过。你不需要自己找测试用例,系统内置了验证逻辑。

安装也极其简单:

cargo install rustlings
rustlings init
rustlings watch

这三条命令,不需要配环境、不需要装 Docker,甚至不需要理解什么是包管理器——cargo 会帮你处理一切。

v6.5.0 刚刚发布,MSRV 提升到 Rust 1.88

最新版本在 2025 年 8 月 21 日发布,带来了几个值得关注的变化:升级到 Rust Edition 2024、MSRV(最小支持 Rust 版本)提升至 1.88,以及针对 VS Code 文件链接和文件监控逻辑的修复。这说明项目仍在活跃维护,且紧跟 Rust 语言本身的进化。

这个版本还加入了 LLM 使用规范——如果你想给 rustlings 贡献内容,官方希望你说明是否使用了 AI 辅助编写解题思路。这是开源社区应对 AI 生成代码争议的一个缩影。

它和《Rust Book》是什么关系?

官方 README 里明确写了:「Recommended in parallel to reading the official Rust book」—— rustlings 不是替代品,而是并行读物。

两者的学习路径差异很大:

《Rust Book》适合系统理解语言设计哲学,但文字量大、节奏慢,劝退率高。rustlings 则相反——它不解释为什么会有所有权和生命周期,只训练你「遇到这种情况,代码怎么写」。一套帮你理解概念,一套帮你形成肌肉记忆。

具体来说,rustlings 覆盖的练习方向包括:变量声明、Option/Result 处理、错误传播、trait 定义、生命周期标注、闭包与迭代器、宏基础、并发原语等。你不是在做算法题,而是在熟悉 Rust 特有的表达方式。

适合谁,不适合谁

适合:已有至少一门编程语言基础、想快速上手 Rust 的开发者;正在读《Rust Book》需要同步练手的人;想验证自己 Rust 语法是否过关的面试候选人。

不适合:完全零编程经验的人(rustlings 不解释基础概念);需要深入理解所有权设计哲学的学习者(这部分还是得看书);已经在用 Rust 写生产项目的人(它面向新手,定位不同)。

为什么它值得关注

六万四千颗星背后,是一个被长期低估的信号:Rust 正在从「系统编程语言」向更广泛的工程师群体渗透。而 rustlings 是这个渗透过程的标配入口之一。它不是最深入的学习资源,但可能是上手效率最高的那一个。

如果你现在用的是 Windows、macOS 还是 Linux,都不影响——rustlings 支持全平台,安装方式是 cargo install,卸载方式是 cargo uninstall,没有任何残留。

下一步建议

如果你已经有一点编程基础,想在三周内对 Rust 语法形成肌肉记忆,可以按这个路径走:

第一步:安装 rustlings,在终端里跑通 rustlings watch,感受实时反馈的节奏。
第二步:一边做练习,一边对照《Rust Book》的对应章节。rustlings 的练习顺序基本与官方书籍前 12 章对齐。
第三步:完成后,尝试用 Rust 写一个自己的小工具——比如一个命令行 TODO 列表,或者一个简单的 HTTP 服务器。rustlings 官方也建议在完成后「继续在开源项目中实践」。

官方文档:https://rustlings.rust-lang.org
GitHub 仓库:https://github.com/rust-lang/rustlings
最新版本 Release:https://github.com/rust-lang/rustlings/releases/tag/v6.5.0

评论区

0 条评论

登录后可评论。