章节摘要:这是全书唯一「不讲代码」的一章——它的任务是先立心法。费曼那句「What I cannot create, I do not understand」(造不出来,就是不懂)是本书的总纲,但很多人对它有两个误解:一是以为「造轮子=排斥成熟工具」,二是以为「随便造个轮子就能学到东西」。本章要厘清三件事。第一,造轮子的真正价值不是产出物,而是「被迫理解每一个设计决策」的过程。第二,造轮子与用轮子不冲突——成熟工具照用,造轮子是「学习手段」而非「生产手段」。第三,不是所有轮子都值得造,我们要讲一套「挑项目」的难度梯度与时间预算方法,帮你避开「三分钟热度放弃」或「陷入细节无法收尾」两个陷阱。读完本章,你能为自己定一个清醒、可完成的造轮子计划,而不是收藏一个永远不开始的清单。
阅读完本章,你应当能够:
造轮子不是「重做别人的工作」,而是「把别人的工作当成教材,逼自己走一遍他走过的每一步思考」。挑对项目、走完全程,才算真正学到。
「What I cannot create, I do not understand」的真正含义。用一个例子讲清:你会用 Git 不代表你懂 Git——只有当你能从零写出 init/add/commit,你才真正理解「内容寻址存储」「对象模型」这些词的分量。造轮子是把「自以为懂」变成「真正懂」的唯一可靠路径。
破除「造轮子=排斥成熟工具」的误解。造轮子是学习手段,用轮子是生产手段。你造一个 Shell 是为了理解 Shell,造完之后日常仍用 Bash——但从此你看 Bash 的眼神不一样了。成熟工具之所以成熟,正因为它凝聚了无数被验证过的设计决策;造轮子是让你亲眼见证这些决策的诞生。
本书的难度梯度(从近到远):Shell/CLI(贴近日常)→ 正则/编辑器/Git(中等系统软件)→ Web服务器/数据库(后端硬通货)→ 操作系统/编译器(天花板)。讲清每个梯度的时间预算(周末级 / 月级 / 年级)与前置技能,帮你挑一个「踮脚能够到」的项目,避开「太简单无聊」与「太难放弃」两端。
阅读源码是「看别人怎么走」,从零复现是「自己走一遍」。两者都有价值,但深度不同:读源码容易「看懂了却写不出」,从零复现则强迫你做出每一个决策。本书的导读支持「从零复现」路线——给路线图与第一步,而非让你照抄某个仓库。
正文九章是「深导读」——每个项目讲清价值、拆解子系统、给上手第一步,适合你想认真造一个轮子时用。附录 A 是「全量三十域汉化索引」——本书没讲的领域(3D 渲染、神经网络、区块链等),这里都有入口。两轨配合:正文练手、附录拓展。
本章遵循「为什么造 → 怎么造不跑偏 → 怎么挑 → 怎么深 → 怎么用本书」的递进路径,前两节是认知,中间两节是方法,最后一节是使用说明:
费曼理念 (01) ── 为什么造: 造不出就是不懂 │ ▼ 造vs用 (02) ── 认知矫正: 不冲突, 是学习手段 │ ▼ 挑项目 (03) ── 方法①: 难度梯度 + 时间预算 │ ▼ 复现vs读码 (04) ── 方法②: 从零复现更深 │ ▼ 双轨用法 (05) ── 使用说明: 正文深导读 + 附录索引 │ ▼ 第 2 章:开始造第一个轮子——Shell
前两节是「认知层」,厘清造轮子的价值与定位;中间两节是「方法层」,教你挑项目与选深度;最后一节是「操作层」,告诉你怎么用这本书。读完这五节,你就带着正确的心法和清晰的方法,进入第 2 章的第一个实战项目。
前置知识:
本章为后续章节奠定的基础: