<!-- title: 从词法到字节码七大语言构建频道 -->
<!-- domain: programming -->

# 从词法到字节码七大语言构建频道

> 编程语言的诞生，是人类与机器之间最浪漫的翻译工程。本期精选七个YouTube频道，带你从NAND门电路出发，穿越词法分析、语法树、字节码虚拟机，最终抵达操作系统与浏览器引擎——完整体验"造语言"的全部奥秘。

## 为什么你应该关心"语言是怎么造出来的"

大多数程序员每天都在使用编程语言，却很少有人理解语言本身的构造原理。这就好比你每天都开车，却从没打开过引擎盖。理解编程语言的实现——从词法分析器（Lexer）到语法分析器（Parser），从抽象语法树（AST）到字节码虚拟机（VM），再到垃圾回收（GC）和即时编译（JIT）——会让你对编程产生完全不同层次的认知。

2026年，随着AI代码生成工具的普及，"理解语言本质"变得比以往任何时候都更加重要：当你能看透语言底层的每一个齿轮，你才能真正评估AI生成的代码是否正确、高效、安全。以下七个频道，从硬件基础到语言实现，构成了一个完整的知识图谱。

## 频道对比总览

| 频道名称 | 订阅数 | 核心方向 | 代表系列 | 难度 | 推荐指数 |
|---------|--------|---------|---------|------|---------|
| **Ben Eater** | 140万 | 硬件→计算机架构 | 8-bit Computer on Breadboard | ★★★☆☆ | ★★★★★ |
| **CodePulse** | ~5万 | 编译器/解释器实现 | Crafting Interpreters全系列 | ★★★★☆ | ★★★★★ |
| **Low Level** | 90万 | 汇编/逆向/底层安全 | x86 Assembly Deep Dives | ★★★★☆ | ★★★★☆ |
| **The Cherno** | 74万 | C++/游戏引擎内核 | Hazel Game Engine | ★★★★☆ | ★★★★☆ |
| **Tsoding** | ~30万 | 实时编码/编译器实验 | Handmade Language Projects | ★★★★★ | ★★★★☆ |
| **Bisqwit** | 15万 | Demo场景/编译器艺术 | Compiler & OS from Scratch | ★★★★★ | ★★★★☆ |
| **Andreas Kling** | 6万 | OS/浏览器引擎 | SerenityOS & Ladybird | ★★★★★ | ★★★★★ |

```mermaid
graph TD
    A[Ben Eater<br/>NAND门→CPU] --> B[Low Level<br/>汇编/逆向工程]
    B --> C[CodePulse<br/>解释器/编译器]
    C --> D[The Cherno<br/>C++/引擎内核]
    D --> E[Tsoding<br/>语言实验]
    E --> F[Bisqwit<br/>编译器艺术]
    F --> G[Andreas Kling<br/>OS/浏览器引擎]

    style A fill:#e1f5fe
    style C fill:#fff3e0
    style G fill:#e8f5e9
```

## 频道深度解读

### 1. Ben Eater —— 从NAND门到8位CPU的物理实现

**频道链接**：[youtube.com/@BenEater](https://www.youtube.com/@BenEater)

**订阅数**：约140万 | **总播放量**：超1亿

**核心内容**：Ben Eater做了一件疯狂的事——在面包板上用74系列逻辑芯片，从零开始搭建一台完整的8位计算机。整个系列从最基础的NAND门开始，逐步构建加法器、ALU、寄存器、内存、程序计数器，最终实现一台能执行机器指令的CPU。这不是模拟器，不是FPGA，而是真实的物理电路——你可以看到每一根跳线、每一个LED灯的闪烁。

**关键洞察**：
- **硬件是语言的终点站**：任何编程语言最终都要变成电信号。当你亲手用NAND门构建出一个加法器，你会真正理解为什么CPU执行加法只需要一个时钟周期。
- **冯·诺依曼架构的物理具象化**：Eater的系列让"存储程序"这个抽象概念变得触手可及——你看到程序真的被存储在RAM芯片中，被逐条读取执行。
- **为什么需要汇编语言**：当你手动拨动开关输入机器码时，你会发自内心地感激汇编器的发明者。

**实用价值**：对于任何想深入理解编程语言底层机制的程序员，这个频道是不可逾越的起点。它让你理解：CPU指令集是怎么来的？寄存器为什么是有限的？内存寻址到底在物理层面意味着什么？这些知识是后续学习编译器后端、代码生成和虚拟机设计的基础。

**适合人群**：所有层次的程序员，特别是对计算机底层运作机制充满好奇的开发者。即使你完全没有硬件背景，Eater的讲解也足够清晰。

---

### 2. CodePulse —— 《Crafting Interpreters》最佳视频伴侣

**频道链接**：[youtube.com/@CodePulse2](https://www.youtube.com/@CodePulse2)

**订阅数**：约5万 | **核心创作者**：David Callanan

**核心内容**：CodePulse最著名的系列是对Robert Nystrom经典著作《Crafting Interpreters》的逐章视频实现。他分别用Java和C完整实现了Lox语言——一个功能完整的脚本语言，包含词法分析、递归下降解析器、AST遍历解释器、以及基于字节码的虚拟机。整个系列超过100集，每一集都包含清晰的代码编写和概念讲解。

**关键洞察**：
- **词法分析不是正则表达式的简单应用**：通过亲手实现Scanner，你会理解为什么`>=`需要被识别为单一token，以及如何处理嵌套注释等边界情况。
- **递归下降解析器的优雅**：看到文法规则如何一对一映射为函数调用，这种对应关系本身就是编程语言设计之美的体现。
- **字节码VM的精妙设计**：从树遍历解释器到字节码虚拟机的演进，是理解Java、Python、Lua等语言运行时的关键一步。

**实用价值**：如果你想在编程语言实现方面获得系统性的知识，这个频道配合原书是最佳学习路径。完成整个系列后，你将具备独立设计和实现一门小型编程语言的能力——这在求职编译器团队、基础设施团队时是极大的加分项。

**适合人群**：有1-2年编程经验，对语言内部机制好奇的中级开发者。需要基本的Java或C语言基础。

---

### 3. Low Level —— 逆向工程视角下的代码真实面貌

**频道链接**：[youtube.com/c/LowLevelLearning](https://www.youtube.com/c/LowLevelLearning)

**订阅数**：约90万 | **核心创作者**：Ed（@LowLevel）

**核心内容**：Low Level（原Low Level Learning）从安全工程师和逆向分析师的独特视角，揭示高级语言代码在底层到底变成了什么。频道涵盖x86/x64汇编语言深度教程、C代码到汇编的映射、逆向工程实战、缓冲区溢出原理、以及操作系统内核如何管理进程和内存。近期热门视频包括"Everything is Open Source if You Can Reverse Engineer"——以黑客视角重新定义了"开源"。

**关键洞察**：
- **编译器是你的翻译官，但不是你的朋友**：通过对比C源码和编译后的汇编，你会发现编译器做了大量你意想不到的优化（和妥协）。
- **安全视角重塑语言设计认知**：理解缓冲区溢出、ROP链等攻击手法，会让你重新审视为什么Rust的所有权系统是革命性的。
- **汇编是编程语言和硬件之间的契约**：无论你用什么语言编程，最终都要遵守x86/ARM指令集的规则。理解这些规则，就理解了语言的性能边界。

**实用价值**：对于编写高性能代码、安全审计、或者想理解为什么某些语言在某些场景下比其他语言快10倍的程序员来说，这个频道提供了不可替代的底层视角。

**适合人群**：有C/C++基础，对系统编程、安全研究感兴趣的中高级开发者。

---

### 4. The Cherno —— 用C++构建完整游戏引擎的工程实录

**频道链接**：[youtube.com/@thecherno](https://www.youtube.com/@thecherno)

**订阅数**：约74万 | **核心创作者**：Yan Chernikov

**核心内容**：The Cherno最标志性的项目是Hazel游戏引擎——一个从零开始用C++构建的完整2D/3D游戏引擎。整个开发过程以系列视频形式记录，涵盖渲染引擎（OpenGL/Vulkan）、ECS架构、脚本系统、事件系统、内存管理等核心模块。频道还包含大量C++深度教程，从智能指针到模板元编程，覆盖了现代C++的几乎所有高级特性。

**关键洞察**：
- **引擎是语言的终极考验**：构建一个游戏引擎几乎需要运用编程语言的所有特性——多线程、内存管理、模板、ABI兼容性。Hazel项目展示了C++在大型系统中的真实表现。
- **抽象层的工程权衡**：每一层抽象（渲染API封装、ECS系统、脚本绑定）都是在性能、可维护性和易用性之间的权衡。Cherno的决策过程本身就是极佳的软件工程教学。
- **从引擎到语言的桥梁**：游戏引擎的脚本系统本质上是一个嵌入式语言的实现——理解它，就理解了Lua嵌入Unity、V8嵌入Electron的设计思路。

**实用价值**：如果你想深入理解大型C++项目的架构设计，或者想自己构建一个引擎/框架级别的系统，这个频道提供了完整的工程实录。同时，理解引擎内部机制对于使用Unreal、Unity等商业引擎的开发者也有巨大帮助。

**适合人群**：有C++基础的中高级开发者，对游戏开发或系统级编程感兴趣。

---

### 5. Tsoding —— 编程作为极限创作

**频道链接**：[youtube.com/@tsoding](https://www.youtube.com/tsoding)

**订阅数**：约30万（含Tsoding Daily） | **核心创作者**：rexim

**核心内容**：Tsoding是一个纯粹的"娱乐编程"频道——没有教学大纲，没有PPT，只有一个人、一个编辑器、无限的热情和不可思议的项目。从用C手写PNG解码器到用Rust实现正则表达式引擎，从构建自己的构建系统到实时编码实现BMP图像处理，Tsoding展示了编程作为一种智力极限运动的魅力。特别值得关注的是他在语言实现方面的实验：用C实现Lisp方言、构建自己的文本编辑器等。

**关键洞察**：
- **"无脚本编程"的真实价值**：Tsoding不做教学视频——他做的是"思考过程直播"。你会看到他犯错、调试、推翻重来、突然顿悟的完整过程。这比任何精心编辑的教程更能培养真正的编程直觉。
- **小语言的设计哲学**：Tsoding在多个项目中实现过小型领域特定语言（DSL）。通过观察他的设计过程，你能学到语言设计不是学术论文——它是工程权衡的艺术。
- **工具即语言**：当你用C从零开始写一个文本编辑器时，你实际上在创造一种新的"语言"——编辑器命令语言。这种视角转换对理解语言设计极有价值。

**实用价值**：Tsoding最大的价值不在于具体的知识点，而在于编程思维方式的感染。看完他的直播录像，你会自然而然地产生"我也想从零造一个"的冲动——这正是学习语言实现最好的动力。

**适合人群**：有C/Rust经验，喜欢硬核编程挑战的高级开发者。不适合初学者。

---

### 6. Bisqwit —— 编程炼金术士的芬兰工作室

**频道链接**：[youtube.com/@Bisqwit](https://www.youtube.com/@Bisqwit)

**订阅数**：约15万 | **核心创作者**：Joel Yliluoma

**核心内容**：Bisqwit是YouTube上最独特的编程频道之一。这位芬兰程序员几乎不用现代框架——他用纯C/C++从零构建一切：NES模拟器、AdLib声卡合成器、编译器、操作系统组件、图像压缩算法。他的视频风格极度极简——没有背景音乐，没有花哨的剪辑，只有代码和安静的解释。最著名的视频包括"Creating a Compiler in One Video"和"Making a Simple Emulator"。

**关键洞察**：
- **约束孕育创造力**：Bisqwit经常给自己设置极端约束——比如"只用标准库实现一个NES模拟器"或"在一个源文件中实现编译器"。这些约束迫使他深入理解每个组件的最小必要实现。
- **编译器不是黑魔法**：通过Bisqwit的"单视频编译器"，你能看到词法分析、语法分析、代码生成的完整流程被压缩在几十分钟内完成。这种极简主义实现揭示了编译器的核心其实并不复杂——复杂的是工程化。
- **从Demo场景到语言设计**：Demo场景（Demo Scene）文化对Bisqwit影响深远。在4KB或64KB的限制下创造令人惊叹的视听体验，本质上是一种极致的语言和算法设计训练。

**实用价值**：Bisqwit的视频是最好的"编程思维训练器"。他不教你使用框架——他教你如何在没有任何框架的情况下，依靠对底层原理的深刻理解来解决问题。这种能力在构建语言运行时、编译器基础设施时尤为重要。

**适合人群**：资深C/C++开发者，对Demo场景、模拟器、编译器极简实现感兴趣的黑客型程序员。

---

### 7. Andreas Kling —— 一个人造操作系统和浏览器的工程奇迹

**频道链接**：[youtube.com/c/AndreasKling](https://www.youtube.com/c/AndreasKling)

**订阅数**：约6万 | **核心创作者**：Andreas Kling

**核心内容**：Andreas Kling的故事本身就是编程史上最励志的篇章之一——这位前Apple WebKit工程师，在克服个人困境后，从零开始构建了SerenityOS（一个完整的类Unix图形操作系统）和Ladybird（一个完全独立的现代浏览器引擎）。频道的"TLUL"（This Looked Useful, Let's Implement）系列展示了真实的日常开发过程：从标准文档出发，一步步实现CSS布局、JavaScript引擎、网络协议栈等浏览器核心组件。

**关键洞察**：
- **标准文档是最好的老师**：Kling的开发方式是直接阅读W3C/ECMA标准文档，然后逐条实现。这种方法教会你：任何编程语言和平台的规范都是可读、可实现的——不是黑盒。
- **浏览器引擎是语言实现的最复杂形态**：Ladybird项目涉及HTML解析器、CSS引擎、JavaScript JIT编译器、渲染管线——这几乎涵盖了编程语言实现的所有分支领域。
- **可持续的开源开发模式**：Kling证明了一个人可以启动并维持一个极其复杂的系统级项目，关键在于保持节奏（每月更新视频）和建立社区。

**实用价值**：对于任何想参与大型系统级开源项目的开发者，Andreas Kling的开发方式是最好的参考。他的"自下而上"阅读标准文档再实现的方法论，适用于任何需要从规范到实现的工程场景。

**适合人群**：有系统编程经验的高级开发者，对操作系统、浏览器引擎、大型开源项目感兴趣。

## 知识体系图谱

```mermaid
graph LR
    subgraph 硬件层
        A1[NAND门] --> A2[逻辑电路]
        A2 --> A3[ALU/寄存器]
        A3 --> A4[完整CPU]
    end

    subgraph 语言层
        B1[词法分析<br/>Lexer] --> B2[语法分析<br/>Parser]
        B2 --> B3[抽象语法树<br/>AST]
        B3 --> B4[语义分析]
        B4 --> B5[代码生成]
    end

    subgraph 运行时层
        C1[字节码VM] --> C2[垃圾回收<br/>GC]
        C2 --> C3[JIT编译]
        C3 --> C4[内存管理]
    end

    subgraph 系统层
        D1[操作系统内核] --> D2[文件系统]
        D2 --> D3[网络协议栈]
        D3 --> D4[浏览器引擎]
    end

    A4 --> B1
    B5 --> C1
    C4 --> D1

    E[Ben Eater] -.-> A4
    F[CodePulse] -.-> B1
    F -.-> C1
    G[Low Level] -.-> A3
    G -.-> C4
    H[The Cherno] -.-> C3
    H -.-> C4
    I[Tsoding] -.-> B5
    I -.-> C1
    J[Bisqwit] -.-> B1
    J -.-> D1
    K[Andreas Kling] -.-> D1
    K -.-> D4
```

## 学习路径建议

```mermaid
flowchart TD
    Start[开始：对语言内部好奇] --> Q1{你的编程经验？}
    Q1 -->|1年以下| A[Ben Eater<br/>面包板计算机]
    Q1 -->|1-3年| B[CodePulse<br/>Crafting Interpreters]
    Q1 -->|3年以上| C{你更关注哪个方向？}

    A --> D[Low Level<br/>汇编与逆向]
    B --> D

    C -->|性能与底层| E[Low Level<br/>汇编与逆向]
    C -->|引擎与框架| F[The Cherno<br/>C++引擎开发]
    C -->|语言创造| G[Tsoding + Bisqwit<br/>极限编程实验]

    D --> H[Andreas Kling<br/>OS与浏览器引擎]
    E --> H
    F --> H
    G --> H

    H --> I[终极目标：<br/>设计和实现自己的编程语言]
```

## 延伸推荐

| 频道名称 | 方向 | 推荐理由 |
|---------|------|---------|
| **Philip's Lab** | FPGA/硬件描述语言 | 用Verilog/VHDL实现处理器，是Ben Eater的数字升级版 |
| **javidx9 (OneLoneCoder)** | C++图形/算法 | 从零实现NES模拟器和3D渲染器，风格轻松幽默 |
| **Sebastian Lague** | 计算机科学可视化 | 用Unity可视化展示编译器、物理模拟等抽象概念 |
| **Molly Rocket** | 手工软件哲学 | Casey Muratori的Handmade Hero——从零构建完整游戏，无任何依赖 |
| **simpl复tech** | Rust系统编程 | 用Rust实现各种系统级组件，是学习现代系统编程的好入口 |

## 结语

编程语言的实现不是一个遥不可及的黑盒。从Ben Eater面包板上的NAND门到Andreas Kling的独立浏览器引擎，这七个频道共同揭示了一个核心真理：**每一行你写的代码，最终都可以被追溯到物理层面的电信号变化。** 理解这个完整的链条，不仅能让你写出更好的代码，更能让你在面对新技术时拥有判断力——你能看穿炒作，直击本质。

2026年，当AI可以帮你生成代码时，"理解代码为什么能运行"比"能写代码"更有价值。这七个频道，正是帮你建立这种深层理解的绝佳资源。

## 参考来源

1. [Ben Eater YouTube Channel](https://www.youtube.com/@BenEater) — 面包板8位计算机系列创作者
2. [CodePulse YouTube Channel](https://www.youtube.com/@CodePulse2) — Crafting Interpreters视频实现系列
3. [Low Level YouTube Channel](https://www.youtube.com/c/LowLevelLearning) — 汇编/逆向/底层安全频道
4. [The Cherno YouTube Channel](https://www.youtube.com/@thecherno) — C++与Hazel游戏引擎开发
5. [Andreas Kling个人主页](https://awesomekling.com/) — SerenityOS与Ladybird浏览器创始人
6. [50 Best Coding YouTube Channels 2026 - crackr.dev](https://www.crackr.dev/blog/best-coding-youtube-channels) — 2026年度编程YouTube频道综合排名
7. [Tsoding Grokipedia页面](https://grokipedia.com/page/Tsoding) — Tsoding频道背景与内容分析

---
> 本文由「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)
