修炼资源榜
每个境界的书、课、工具和项目。不是书单搬运,是我踩过的坑。
🔥 炼气期
你刚学会写代码,变量循环函数是三板斧。这个阶段别急着学第二种语言,先把一种语言用熟。
书
- 《Python编程:从入门到实践》Eric Matthes — 跟着项目做,不是干看语法
- 《C程序设计语言》K&R — 薄但每页都有用,C 入门绕不开
课
- CS50(Harvard / edX)— 计算机科学入门第一课,免费,比大多数国内教材强
- Python for Everybody(Coursera)— 零基础友好
工具
- VS Code + Python/C 扩展
- Git,先学 commit/push/pull 就行
- LeetCode 简单题,每天1-2道找手感
做什么
命令行计算器、猜数字、文件批量重命名、命令行待办清单——四个选一个做完。不用做四个,做一个就够,关键是自己从头写的,不是抄的。
怎么算过了
脱离教程独立写 300 行以上的程序。不抄,自己想清楚每一步。
🏗️ 筑基期
会写代码了,但问你怎么跑的你说不清楚。筑基就是搞懂"代码从写完到运行中间发生了什么"。四座地基:数据结构、操作系统、网络、数据库。
书
- 《深入理解计算机系统》CSAPP — 筑基第一书,从程序员视角讲系统,配 Lab 效果翻倍
- 《算法导论》CLRS — 前十章就够了,别被厚度吓到
- 《操作系统导论》OSTEP — 免费 PDF,Remzi 讲得比绝大多数教材通透
- 《计算机网络:自顶向下》Kurose & Ross — 从应用层往下讲,适合先有直觉再补理论
课
- MIT 6.006(OCW)— 算法入门
- CMU 15-213 — CSAPP 配套课
- CS144(Stanford)— 计算机网络,有 Lab
工具
- GDB — 学断点和变量查看,不会 GDB 等于少一只手
- Wireshark — 抓包看协议,比看书直观十倍
- draw.io — 画架构图
做什么
写一个 HTTP 服务器、实现链表/哈希表、用 SQLite 做个小应用、写个简单 malloc。选两三个做,不用全做。
怎么算过了
能讲清楚"代码从写完到运行中间发生了什么"。从源码到 CPU 执行的链路,每一步说得出名字。
💎 金丹期
筑基之后你会发现,光会用工具不行,得懂工具为什么这么设计。编译器、内核、缓存、并发——金丹期就是啃这些。
书
- 《编译原理》龙书 — 前五章核心,后面按需翻
- 《操作系统概念》Silberschatz — 内核机制深入
- 《计算机体系结构:量化方法》Hennessy & Patterson — 体系结构领域圣经
- 《Linux内核设计与实现》Robert Love — 内核入门,不深但覆盖面广
课
- MIT 6.828(OCW)— 操作系统工程,xv6 Lab 是经典
- CMU 15-445 — 数据库系统
- CSAPP 的 Bomb Lab — 不做一遍 CSAPP 白读了
工具
- perf — Linux 性能分析,调优必备
- Valgrind — 查内存泄漏
- objdump — 反汇编看机器码
做什么
写个 mini 编译器(词法到代码生成)、写个简单 shell(fork/exec/wait)、实现 LRU 缓存、用信号量解决生产者消费者。做两个就行。
怎么算过了
能从零解释一个技术方案"为什么这么设计",不只是"怎么用"。
👶 元婴期
到这一层你就穿透到硬件了。指令集、微架构、驱动、固件——嵌入式工程师的主场,也是大多数程序员过不来的坎。
书
- 《ARM体系结构与编程》杜春雷 — ARM 中文首选
- 《See MIPS Run》Sweetman — MIPS 架构,跟 ARM 对照学有奇效
- 《Linux设备驱动程序》LDD3 — 虽然旧了但原理没变
- 《Digital Design and Computer Architecture》Harris — 数字电路到体系结构一条龙
课
- RISC-V International 官网的免费课程
- Embedded Systems - Shape The World(edX)— 嵌入式实战
工具
- 示波器 — 看真实波形,不看日志猜
- 逻辑分析仪 — 抓 UART/SPI/I2C
- JTAG/SWD 调试器 — 在线调试单片机
- STM32CubeIDE — STM32 开发
做什么
点亮 LED(GPIO+时钟树+寄存器)、读 I2C 传感器(协议+中断+DMA)、写个 Linux 字符设备驱动、移植 U-Boot。第一个必须做,后面的看方向。
怎么算过了
软件出了问题能往下追到硬件根因。从一段代码追到引脚电平翻转,中间每一步都说得清楚。示波器是你日常工具不是实验室偶尔用的东西。
🌟 化神期
到这层你开始造东西了,不是用别人的框架填代码。语言、操作系统、框架——你定义别人填充的东西。
书
- 《Crafting Interpreters》Robert Nystrom — 手把手写解释器,在线免费
- 《Design Patterns》GoF — 设计模式,过时争议一直有但读完有体感
- 《SICP》Abelson — 编程的本质思维,读三遍都有新收获
- 《人月神话》Brooks — 软件工程的常识,可惜大部分人当小说看
做什么
造一门迷你语言(词法到解释器)、写个微型 OS(xv6 起点)、设计一个 50 行的 HTTP 框架、给 Linux 内核或 Rust 提 PR。
怎么算过了
你写的东西被别人用。不是在别人的框架里填业务代码,是你定义了框架让别人填。
⚡ 渡劫 / 大乘
这层思考的是计算的本质。图灵定义了"什么是计算",冯·诺依曼定义了"计算机怎么造"。
书
- 《哥德尔、艾舍尔、巴赫》Hofstadter — 可计算性边地的文学化探索
- 《The Annotated Turing》Petzold — 图灵论文逐行解读
- 《SICP》重读 — 化神读过一遍,这里带着计算理论再读
想什么
量子计算是否扩展了图灵定义的边界?冯·诺依曼架构的"存储程序"思想能不能改进?停机问题和哥德尔不完备定理到底什么关系?P vs NP 为什么是密码学的命根子?
这些问题没有标准答案,但想清楚的过程比答案本身有价值。
我是玄芯散人,带你从炼气修到大乘。更多内容见 xren.ren