<!-- title: 编译器与语言实现七大实战频道精读 -->
<!-- domain: programming -->

# 从词法分析到代码生成：七个把"编程语言如何被造出来"讲透的 YouTube 频道

## 本期概述

这是第 2 轮精选，聚焦 **programming（编程与开发）** 分类。前几轮我们走过了操作系统内核、数据库内核、Rust 系统编程、可扩展系统工程、API 工程等"系统侧硬骨头"，本期我们换一个常被忽视却极具杠杆效应的方向——**编译器与编程语言实现（Compiler & Programming Language Implementation, PLI）**。

为什么说它有杠杆效应？因为理解编译器，等于一次性吃透三件事：**数据结构怎么真正用起来**（树、图、符号表、哈希）、**形式语言理论怎么落地**（正则、上下文无关文法、自动机）、**程序在机器上到底怎么跑**（调用约定、寄存器分配、目标代码）。它是少有的能"一通百通"的工程主题。

围绕这个主题，YouTube 上其实有一条相当成熟的内容生态——从入门可视化、到硬核手写、到直播式实战、到理论科普。本期精选七个风格迥异但都极具教学价值的频道，按"学习路径"而非"热度"排列，帮你从零建立起一门语言从源码到运行的完整心智模型。

## 七大频道对比一览

| 频道 | 风格定位 | 核心代表作 | 技术深度 | 适合阶段 | 推荐指数 |
|------|---------|-----------|---------|---------|---------|
| **Sebastian Lague** | 精美可视化、叙事流畅 | 《Code an Interpreter》系列 | ★★☆ | 零基础入门 | ⭐⭐⭐⭐⭐ |
| **Computerphile** | 学术科普、短小精悍 | 编译原理 / 类型论短片 | ★★☆ | 概念扫盲 | ⭐⭐⭐⭐ |
| **Reducible** | 算法与概念深度可视化 | 解析、图算法可视化 | ★★★ | 巩固理解 | ⭐⭐⭐⭐⭐ |
| **Tsoding** | 直播式实战、硬核娱乐 | "Compiler for a Query Language" | ★★★★ | 动手实践 | ⭐⭐⭐⭐ |
| **Bisqwit** | 老派硬核、手把手教学 | 《Creating a Compiler》系列 | ★★★★★ | 深度钻研 | ⭐⭐⭐⭐⭐ |
| **Low Level Learning** | 工具链与底层内部机制 | 链接器 / ELF / ABI 拆解 | ★★★★ | 补全工具链 | ⭐⭐⭐⭐ |
| **Creel** | 硬件到语言的全栈视角 | CPU、字节码、语言设计 | ★★★ | 拓宽视野 | ⭐⭐⭐⭐ |

## 一、Sebastian Lague —— 把解释器写成一部短片

**频道**：[Sebastian Lague](https://www.youtube.com/@SebastianLague) ｜ 订阅量：约 300 万级（游戏开发与算法可视化的头部创作者）

如果你只能看一个频道来"无痛进入"编程语言实现的世界，那就是 Sebastian Lague。他的《Code an Interpreter》系列（基于 Bob Nystrom 的《Crafting Interpreters》一书）把一个完整的树遍历解释器从零写出来，并配以极其考究的动画：词法分析时字符如何被切成 token、解析阶段如何把扁平的 token 流变成嵌套的语法树、求值时树如何被递归走完。每一步都用可视化的方式让你"看见"，而不是"被告知"。

**核心洞察**：Lague 的真正价值不在于代码量——他的代码并不复杂——而在于**降低认知门槛**。他用一种近乎纪录片的节奏，让一个原本枯燥的主题变得可观赏。对于从未接触过编译原理的人来说，这套系列是建立"啊，原来编译器/解释器就是这么回事"的第一块基石。

**实用价值与应用场景**：适合作为入门第一站。看完后你不会立刻能写生产级编译器，但你会拥有正确的词汇表（token、AST、visitor、环境绑定）和完整的心智地图，再去啃更硬核的内容就不慌了。也适合需要为自家产品实现配置语言、规则引擎、查询 DSL 的工程师建立直觉。

**适合人群**：零基础到初学者；可视化学习者；游戏开发者（他的频道本身偏游戏开发）。

## 二、Computerphile —— 来自诺丁汉大学的编译原理短课

**频道**：[Computerphile](https://www.youtube.com/@Computerphile) ｜ 订阅量：约 270 万级（计算机科学科普老牌频道）

Computerphile 是英国诺丁汉大学出品的计算机科学科普频道，每个视频通常只有 5–10 分钟，由大学教授或博士生面对镜头讲解。在编译器主题上，它不是"教你写"，而是"帮你理解概念为什么是这样"——比如什么是词法分析、递归下降解析如何工作、正则表达式与有限状态机的关系、类型系统与类型推断的基本思想。

**核心洞察**：Computerphile 的独特价值在于**学术权威性 + 极短时长**。当你在看实战频道时遇到一个术语（如"上下文无关文法"、"左递归"），可以去 Computerphile 找一段几分钟的精炼讲解，相当于随身的"概念查表器"。它的教授们往往能用最朴素的语言点破一个理论本质。

**实用价值与应用场景**：作为"概念字典"配套使用，而非主粮。在自学编译原理的过程中，遇到理论卡点随时查阅。也适合面试前快速回顾编译原理、形式语言理论的核心概念。

**适合人群**：所有阶段；尤其适合需要快速、准确理解某个概念的学习者。

## 三、Reducible —— 让解析算法在你眼前"动"起来

**频道**：[Reducible](https://www.youtube.com/@Reducible) ｜ 订阅量：约 70 万级（算法与系统概念可视化新锐）

Reducible 是近两年崛起的可视化频道，每一期都打磨数月。在编译器相关主题上，它专攻那些"教科书里画了静态图、但你脑子里动不起来"的算法——例如正则表达式如何被转成 NFA/DFA、解析器如何处理二义性文法、垃圾回收器如何标记与压缩。它用 Manim（3Blue1Brown 同款动画引擎）级别的可视化，把算法的执行过程逐帧呈现。

**核心洞察**：Reducible 填补了一个关键空缺——**让理论算法变得可观察**。很多学习者卡在编译原理，不是因为不懂定义，而是因为无法在脑中"运行"这些算法。Reducible 把 NFA→DFA 的子集构造、Earley 解析、AST 的多种遍历策略等，全部变成了可观看的动画过程，理解效率倍增。

**实用价值与应用场景**：当你在实现词法分析器（需要正则→自动机）或解析器（需要理解文法类别与解析策略）时，Reducible 是最佳"可视化辅助"。也强烈推荐给准备面试、需要把算法讲到滚瓜烂熟的工程师。

**适合人群**：初中级；需要"打通理论与直觉"最后一公里的学习者。

## 四、Tsoding —— 在直播里把一门语言从无到有

**频道**：[Tsoding](https://www.youtube.com/@Tsoding) ｜ 订阅量：约 60 万级（"娱乐性编程"直播派）

Tsoding（其人是 Alexey，曾用网名 tsoding）把自己定位为 "Recreational Programming"——娱乐性编程。他的内容形态很特别：长直播切片，在镜头前一行行写代码、调试、重构、有时翻车再补救。在编译器主题上，他做过大量从零实现语言的实战，例如"Compiler for a Query Language"（为一种查询语言写编译器）、为自有项目编写领域特定语言（DSL）、实现各种小语言解释器等。

**核心洞察**：Tsoding 教给你的不是"标准答案"，而是**一个真实程序员解决语言实现问题的思考过程**——怎么拆模块、怎么设计 IR、调试时怎么定位符号表错误、性能不行怎么剖析。这种"未经修饰的工程过程"是教科书和精剪视频都给不了的。另外他还维护一个 "Tsoding Daily" 子频道记录开发日志。

**实用价值与应用场景**：当你准备自己动手实现一门语言（哪怕只是个小 DSL）却不知从何下手，跟着 Tsoding 的某个系列"陪练"几期，能快速获得工程节奏感。他的代码风格偏 C 和自研，对想理解"不依赖庞大框架、纯手搓"的人特别有启发。

**适合人群**：中级以上；喜欢"看别人真实写代码"的学习者；准备动手实战者。

## 五、Bisqwit —— 老派硬核的手写编译器大师课

**频道**：[Bisqwit](https://www.youtube.com/@Bisqwit) ｜ 订阅量：约 20 万级（硬核底层编程，芬兰开发者）

如果说前面几个频道是"带你看懂"，Bisqwit 则是"带你从第一行 C 代码开始手写一个真编译器"。他的《Creating a Compiler》系列是 YouTube 上少有的、几乎逐行讲解手写编译器的教学片：从设计自己的 C 方言、写词法分析器、构造 AST、实现语义分析、做优化遍，一直到最后生成 x86 汇编并真正链接成可执行文件。配套源码开源在 GitHub（`bisqwit/compiler_series`）。

**核心洞察**：Bisqwit 的价值在于**完整性 + 深度 + 不畏难**。他不回避任何难点——寄存器分配、栈帧布局、调用约定、与系统链接器的对接，全都讲。他展现的是一种"老派黑客"的自信：编译器不是神秘黑盒，而是一个你可以完全掌控的、由若干清晰阶段组成的工程。这种"祛魅"本身就是最大的教育价值。

**实用价值与应用场景**：这是把"理解编译器"升级为"会写编译器"的关键一级台阶。跟着做完，你将真正理解源码如何变成可执行文件，对 C/C++、汇编、链接过程的理解会发生质变。源码开源，强烈建议边看边对照实现。

**适合人群**：中高级；愿意投入大量时间深啃的学习者；系统编程爱好者；想彻底搞懂 C 工具链的人。

## 六、Low Level Learning —— 补全工具链与底层内部机制

**频道**：[Low Level Learning](https://www.youtube.com/@LowLevelLearning) ｜ 订阅量：约 80 万级（底层系统与安全研究视角）

编译器只是工具链的一环。一个完整的"源码到运行"链路还包括汇编器、链接器、加载器、运行时与 ABI。Low Level Learning（频道主有十余年安全研究背景）正是补全这一环的好频道：他拆解 ELF 文件格式、讲链接器如何解析符号与重定位、分析动态链接与 PLT/GOT 机制、解释 ABI 与调用约定、剖析可执行文件如何被操作系统加载进内存。

**核心洞察**：很多能写出前端解析器的学习者，恰恰卡在"代码生成之后的事"——目标文件长什么样、链接器在做什么、为什么要有重定位表、运行时如何初始化全局变量。Low Level Learning 用大量真实二进制演示，把这些"编译后端之后的盲区"照亮，让你对整条工具链有闭环理解。

**实用价值与应用场景**：在学完 Bisqwit 或 Tsoding 的代码生成阶段后，用它补全链接与加载部分。对做逆向工程、恶意代码分析、性能剖析、嵌入式开发的工程师尤其有价值——理解工具链内部，是这些工作的地基。

**适合人群**：中级；系统/安全/逆向工程师；想理解"可执行文件到底装了什么"的开发者。

## 七、Creel —— 从晶体管到编程语言的全栈视角

**频道**：[Creel](https://www.youtube.com/@Creel) ｜ 订阅量：约 50 万级（硬件到软件的连续视角）

Creel 的独特之处是"全栈到底"——他讲 CPU 怎么从逻辑门搭起来、指令集怎么设计、机器码如何被解码、字节码虚拟机如何工作、一门编程语言怎么从这些底层之上被设计出来。他经常用自制的教学 CPU 和汇编器，把"硬件→指令集→汇编器→虚拟机→高级语言"这条完整链条串起来讲。

**核心洞察**：Creel 提供了一种稀缺的"垂直连贯性"。多数频道只讲软件层，而他让你看到：编程语言的设计（运算符、控制流、数据类型）其实是建立在底层机器模型之上的抽象选择。理解了这层关系，你才能真正理解"为什么 C 的指针是那样""为什么有垃圾回收的语言要设计字节码虚拟机"。

**实用价值与应用场景**：适合想打通"软硬边界"的学习者。如果你要设计自己的字节码 VM（很多自研语言都会走 VM 路线），Creel 的字节码虚拟机系列是难得的实战参考。也适合需要从硬件角度理解性能、想自己做模拟器或虚拟机的开发者。

**适合人群**：初中级；对计算机底层有好奇心的全栈学习者；自研语言 / VM 实践者。

## 本期知识图谱：一条从源码到运行的学习路径

```mermaid
flowchart TD
    Start([想要理解/实现一门编程语言]) --> A

    subgraph 入门建立直觉
        A[1. Sebastian Lague<br/>可视化解释器] -->|建立词汇表与心智地图| B[2. Computerphile<br/>概念查表器]
        B -->|补强理论直觉| C[3. Reducible<br/>解析算法动画化]
    end

    C --> D{动手实践}

    subgraph 实战与深度
        D -->|陪练式实战| E[4. Tsoding<br/>直播手写语言]
        D -->|逐行手写真编译器| F[5. Bisqwit<br/>完整编译器系列]
    end

    E --> G[代码生成之后]
    F --> G

    subgraph 工具链与底层闭环
        G --> H[6. Low Level Learning<br/>链接器/ELF/ABI]
        H --> I[7. Creel<br/>硬件到语言全栈]
    end

    I --> Done([完整闭环:<br/>源码→词法→语法→语义<br/>→IR→代码生成→链接→加载→运行])

    style A fill:#e1f5ff
    style F fill:#fff3e0
    style Done fill:#e8f5e9
```

**如何用这张图规划学习**：先沿上半区（入门建立直觉）走一遍，建立全局观；再根据目标选择下半区入口——想做工程项目陪 Tsoding，想彻底精通陪 Bisqwit；最后用 Low Level Learning + Creel 补全工具链与底层，形成闭环。这样一条路走下来，"编程语言如何被造出来、又如何跑起来"对你将不再是黑盒。

## 七大频道的方法论对比

```mermaid
graph LR
    subgraph 教学维度
        L1[可视化叙事]:::style1 --- SL[Sebastian Lague]
        L2[算法动画]:::style1 --- RD[Reducible]
        L3[学术短课]:::style2 --- CP[Computerphile]
        L4[直播实战]:::style3 --- TS[Tsoding]
        L5[逐行手写]:::style4 --- BW[Bisqwit]
        L6[工具链拆解]:::style4 --- LL[Low Level Learning]
        L7[全栈连贯]:::style1 --- CR[Creel]
    end

    classDef style1 fill:#e3f2fd,stroke:#1976d2
    classDef style2 fill:#f3e5f5,stroke:#7b1fa2
    classDef style3 fill:#fff3e0,stroke:#f57c00
    classDef style4 fill:#e8f5e9,stroke:#388e3c
```

不同频道的"知识密度—观赏性—动手门槛"组合差异很大：Lague 与 Reducible 观赏性最高、门槛最低；Computerphile 单点知识最权威；Tsoding 真实但需要你有跟随代码的能力；Bisqwit 与 Low Level Learning 知识密度极高但需要耐心与基础；Creel 则是横向打通的桥梁。**按你的当前水平与学习目标组合订阅，远胜于只盯一个"最火"的频道。**

## 延伸推荐

1. **Casey Muratori / Handmade Hero** — 从零手写一款完整游戏，其中大量手写解析、内存管理、底层工程内容，是"全手写、零依赖"哲学的极致示范。
2. **The Cherno** — 以 C++ 为主，但他对编译器如何处理 C++、链接、内存布局的讲解，是理解编译器在主流工业语言中如何行为的优质补充。
3. **Javidx9（OneLoneCoder）** — 实用主义的从零实现派，覆盖解析、解释器、字节码等主题，风格朴实、代码直白。
4. **Crafting Interpreters（Bob Nystrom 著）配套视频社区** — 虽是书，但 YouTube 上有大量读者录制的逐章讲解，可作为 Lague 系列之外的延伸实践。
5. **MIT 6.035（Computer Language Engineering）课程录像** — 想要学院派系统训练者的进阶选择，配套有完整的编译器大作业。

## 参考来源

1. [Bisqwit - YouTube](https://www.youtube.com/@Bisqwit) — 芬兰开发者，硬核手写编译器教学，《Creating a Compiler》系列及其配套源码 `bisqwit/compiler_series`。
2. [Tsoding - YouTube](https://www.youtube.com/@Tsoding) — "娱乐性编程"直播频道，代表作含 "Compiler for a Query Language" 及语言/DSL 实战，并有 Tsoding Daily 子频道。
3. [Low Level - YouTube](https://www.youtube.com/@LowLevelLearning) — 底层系统与安全研究视角，拆解 ELF、链接器、ABI、调用约定等工具链内部机制。
4. [Computerphile - YouTube](https://www.youtube.com/@Computerphile) — 诺丁汉大学计算机科学科普频道，提供编译原理、类型论等短小权威的概念讲解。
5. [Reddit: What are some good YouTube channels for learning about compilers](https://www.reddit.com/r/learnprogramming/comments/gjf5sr/what_are_some_good_youtube_channels_for_learning/) — 学习者社区对编译器/PLI 相关频道（Computerphile、Low Level Learning 等）的真实推荐与讨论。

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护，聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。
> 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
