Round 2 聚焦编程与开发。当我们每天用 Python、TypeScript、Rust 写代码时,很少有人停下来思考:这些代码是如何被计算机理解的? 从源代码的字符流(词法分析),到语法树(解析),再到语义分析和字节码生成——编程语言的构建过程本身就是一门迷人的工程艺术。
本期精选7个 YouTube 频道,它们从不同角度拆解了"语言如何被创造、被理解、被执行"这一核心命题。从芬兰程序员 Bisqwit 的编译器手搓直播,到 Core Dumped 对类型系统的动画解读;从 Type Theory Forall 与 PL 研究者的深度对话,到 Sebastian Lague 将解释器变成一场视觉探险——这些频道共同构成了一张从词法到语义的完整知识地图。
| 频道 | 订阅数 | 核心方向 | 代表作 | 难度 |
|---|---|---|---|---|
| Sebastian Lague | ~2M | 编程探险·解释器可视化 | Coding Adventures: Programming Language | ⭐⭐ |
| Core Dumped | ~488K | CS概念·类型系统动画 | Type Systems Explained | ⭐⭐⭐ |
| Low Level | ~909K views | 逆向工程·底层机制 | How C Compilers Work | ⭐⭐⭐ |
| Reducible | ~334K | 算法可视化·编译原理 | How FFT Works | ⭐⭐ |
| Polylog | ~100K | 算法理论·计算复杂性 | P vs NP Explained | ⭐⭐⭐⭐ |
| Bisqwit | ~147K | 编译器手搓·复古编程 | Creating a Compiler from Scratch | ⭐⭐⭐⭐ |
| Type Theory Forall | ~1.27K | PL理论·类型论播客 | Self-Education in PL | ⭐⭐⭐⭐⭐ |
频道地址: youtube.com/c/SebastianLague
Sebastian Lague 是南非籍游戏开发者,现居开普敦,以"编程探险"系列闻名。他的视频不是传统教程,而是将复杂的编程概念包装成一场视觉叙事——自定义的动画引擎让每一个抽象概念都有了形体和颜色。
在语言构建方面,他的 Coding Adventures 系列中包含了一期令人印象深刻的编程语言实现视频。从定义词法规则、手写递归下降解析器,到构建 AST 和解释执行,整个过程在他的画面中像是一场精心编排的动画电影。他使用 Unity 和 Blender 制作辅助动画,让代码执行过程可视化到每一个栈帧的推入和弹出。
核心洞察: - 解释器不必从理论开始,从具体问题出发反向推导更直观 - 可视化 AST 的构建过程比任何教科书都更能说明语法分析的本质 - 好的教学设计是把复杂度分层揭示,而非一次性倾倒
实用价值: 如果你想快速建立对"编程语言如何工作"的全局认知,Sebastian 的视频是最佳起点。他的作品告诉你:理解语言不需要啃下《龙书》,只需要一次好的探险。
适合人群: 有基础编程经验、对语言内部机制好奇但怕被理论劝退的开发者。
频道地址: youtube.com/@CoreDumpped
Core Dumped 由一位 CS 工程师运营,专注于将计算机科学中最抽象的概念——类型系统、内存管理、编译优化——转化为5-15分钟的精炼动画视频。频道已有约488K订阅者,是近年增长最快的CS教育频道之一。
在语言构建主题上,Core Dumped 对类型系统的系列解读堪称教科书级别。他从无类型语言出发,逐步引入简单类型、参数多态、子类型多态,用动画展示类型检查器如何在 AST 上自顶向下推导每个表达式的类型。他的视频不回避数学符号,但总是先用直觉解释再用形式化定义。
核心洞察: - 类型系统不是"限制",而是"约束下的自由"——它消灭了一整类运行时错误 - Hindley-Milner 类型推导的本质是"让编译器替你写类型标注" - 理解类型系统最好的方式是从"没有类型"开始,逐步加上约束
实用价值: 对于使用 TypeScript、Rust、Haskell 等强类型语言的开发者,理解类型系统原理能显著提升你利用类型系统表达业务约束的能力。Core Dumped 的视频能帮你在30分钟内建立对类型系统的直觉理解。
适合人群: 有1-2年编程经验、想知道"为什么 TypeScript 要这样设计类型"的中级开发者。
频道地址: youtube.com/c/LowLevelLearning
Low Level(原名 Low Level Learning)是一位美国安全工程师和软件安全研究员运营的频道。他的核心理念可以用一句话概括:"Everything is open source if you know reverse engineering"(如果你懂逆向工程,一切都是开源的)。
对于语言构建话题,Low Level 从独特的逆向视角切入:他不教你如何写编译器,而是教你如何把编译后的二进制文件还原回源代码级别的理解。他的系列视频展示了 C 编译器如何将高级构造(循环、switch、虚函数表)翻译成 x86 汇编指令,以及不同优化级别(-O0 vs -O2)如何改变最终生成的机器码结构。
核心洞察: - 编译器的本质是"语义保持的变换"——源代码和目标代码表达相同的计算 - 逆向分析编译器输出是理解语言运行时语义的捷径 - 安全视角下的语言设计:缓冲区溢出、整数溢出等漏洞的根源都在语言抽象的边界处
实用价值: 如果你在写 C/C++/Rust 等系统级语言,理解编译器如何处理你的代码能帮你写出更高效、更安全的程序。对于安全研究人员,这是理解漏洞形成机制的必修课。
适合人群: 对系统编程、安全研究、逆向工程感兴趣的开发者。
频道地址: youtube.com/@Reducible
Reducible 是一个专注于 CS 基础知识的频道,约334K订阅者,虽只有23个视频,但每个都是精品。频道名"Reducible"(可归约)本身就来自计算理论——一个问题可以归约为另一个问题,暗示着对计算本质的探索。
在语言构建方面,Reducible 的代表作是对快速傅里叶变换(FFT)的可视化解读。虽然 FFT 不是直接的编译器技术,但视频展示的"将 O(n²) 问题归约为 O(n log n)"的思维方式,与编译优化中"将复杂变换分解为若干简单 pass"的哲学完全一致。他对 A* 搜索、路径查找等算法的动画化讲解,其可视化技术本身就是构建领域特定语言(DSL)思维的绝佳示范。
核心洞察: - 好的可视化不是装饰,而是"为眼睛设计的编程语言" - 算法与编译器共享同一种思维模式:分治、归约、模式匹配 - 理解"为什么这个算法这样工作"比记住"这个算法怎么实现"更重要
实用价值: Reducible 的视频是培养"计算直觉"的最佳素材。对于想构建 DSL 或设计内部工具的开发者,他展示的可视化方法论可以直接借鉴。
适合人群: 追求算法深度理解、喜欢用视觉方式思考问题的开发者。
频道地址: youtube.com/@PolylogCS
Polylog 由 Václav Rozhoň 和 Václav Volhejn 两位研究者创建,频道名取自计算机科学中 O(polylog n) 的概念,寓意"深入那些不那么广为人知但极其优美的算法思想"。频道近期突破了10万订阅。
Polylog 与其他频道的最大区别在于理论深度。当其他频道在讲"如何实现一个排序算法"时,Polylog 在讲"为什么比较排序不可能比 O(n log n) 更快,以及在什么条件下可以突破这个下界"。他们的视频涵盖了通信复杂性、在线算法、分布式计算等主题,这些内容与编程语言理论中的语义学和正确性证明有深层联系。
核心洞察: - P vs NP 不仅是"难不难"的问题,而是"什么样的语言可以被高效判定"的问题 - 计算复杂性理论为编程语言设计提供了理论边界 - 理论计算机科学不是数学的附属品,而是编程语言设计的宪法
实用价值: Polylog 的内容帮助你理解"为什么某些编程问题天生就是困难的"——这种认知能让你在面对架构决策时避免在理论上不可行的地方浪费精力。
适合人群: 有扎实算法基础、对理论CS感兴趣的高级开发者和CS学生。
频道地址: youtube.com/@Bisqwit
Bisqwit(真名 Joel Yliluoma)是一位芬兰程序员,约147K订阅者。他的频道标语是"Live programming as a form of art"(将实时编程作为一种艺术形式),专注于复古硬件(NES、AdLib 声卡)和编译器构建。
在语言构建领域,Bisqwit 的地位几乎无可替代。他的直播录制视频展示了自己从零开始构建 C 编译器的完整过程——没有框架、没有生成器工具、纯手写每一个函数。他在视频中直接面对编译过程中的每一个 bug 和设计决策,包括如何处理 C 语言的声明语法("螺旋法则")、如何实现符号表的链式作用域、以及如何在有限内存中组织中间表示。
核心洞察: - 构建编译器最好的学习方式是"真的去构建一个",而不是先读完所有理论 - C 语言的声明语法之所以复杂,是因为它模仿了"使用方式"而非"声明方式" - 每一个编译器的核心都是一个模式匹配引擎——识别源代码中的结构并映射到目标表示
实用价值: 如果你有"想亲手写一个编译器"的念头,Bisqwit 的视频就是最好的实战教材。他展示的不是理想化的教学编译器,而是真正能处理复杂语言特性的工程实现。
适合人群: 有 C/C++ 经验、不怕长时间深度编码的硬核程序员。
频道地址: youtube.com/@typetheoryforall
Type Theory Forall 由 Pedro Abreu 运营,约1.27K订阅者、446个视频。虽然订阅数不多,但它是 YouTube 上唯一一个专注于编程语言理论(PL Research)的深度访谈频道。
频道以长篇对话形式展开,邀请 Haskell 社区核心贡献者、定理证明器开发者、类型理论研究者等。例如与 David Christiansen(The Little Typer 合著者)讨论函数式编程与依赖类型;与自我教育的 PL 爱好者探讨如何在学术体系之外学习编程语言理论。
核心洞察: - 类型论不是抽象数学,它是编程语言设计的工程工具——Hindley-Milner 推导就是最好的例子 - 函数式编程与类型系统的融合正在重新定义"什么是好的编程语言" - PL 研究的前沿(如 Lean、Idris 等依赖类型语言)正在模糊"编程"与"证明"的边界
实用价值: 对于想从"使用语言"进阶到"理解语言设计哲学"的开发者,Type Theory Forall 提供了直接与研究者对话的窗口。它帮助你理解为什么 Rust 选择所有权模型、为什么 Haskell 的 Monad 如此重要。
适合人群: 有函数式编程经验、想深入理解语言设计哲学的高级开发者。
graph TD
A[编程语言构建] --> B[前端: 词法与语法]
A --> C[中端: 语义与类型]
A --> D[后端: 优化与代码生成]
B --> B1[Lexer 词法分析]
B --> B2[Parser 语法分析]
B --> B3[AST 抽象语法树]
C --> C1[Type System 类型系统]
C --> C2[Type Inference 类型推导]
C --> C3[Semantic Analysis 语义分析]
D --> D1[IR 中间表示]
D --> D2[Optimization 优化]
D --> D3[Code Generation 代码生成]
E[推荐频道] --> F[Sebastian Lague<br/>编程探险·可视化入门]
E --> G[Core Dumped<br/>类型系统动画解读]
E --> H[Bisqwit<br/>编译器手搓实战]
E --> I[Type Theory Forall<br/>PL理论深度对话]
E --> J[Reducible<br/>算法与编译可视化]
E --> K[Polylog<br/>计算理论深潜]
E --> L[Low Level<br/>逆向工程视角]
F -.-> B3
G -.-> C1
G -.-> C2
H -.-> B1
H -.-> D3
I -.-> C1
I -.-> C2
J -.-> D2
K -.-> C3
L -.-> D3
style A fill:#1a73e8,color:#fff
style E fill:#34a853,color:#fff
style B fill:#fbbc04,color:#333
style C fill:#ea4335,color:#fff
style D fill:#4285f4,color:#fff
根据你的背景和目标,推荐以下学习顺序:
入门路径(零基础了解语言构建): 1. Sebastian Lague 的编程探险 → 建立全局直觉 2. Reducible 的算法可视化 → 理解"变换"思维 3. Core Dumped 的类型系统系列 → 掌握核心概念
实战路径(想亲手构建语言): 1. Bisqwit 的编译器直播 → 看真实的工程过程 2. Low Level 的逆向分析 → 从反面理解编译 3. Core Dumped 的优化系列 → 理解编译器后端
理论路径(想深入 PL 研究): 1. Core Dumped 的类型论入门 → 建立形式化基础 2. Type Theory Forall 的访谈 → 接触前沿研究 3. Polylog 的复杂性理论 → 理解计算边界
| 频道 | 方向 | 推荐理由 |
|---|---|---|
| Computerphile | CS概念科普 | Nottingham大学出品,语言设计相关视频如"Creating a Programming Language"简洁精炼 |
| The Coding Train | 创意编程 | Daniel Shiffman 用 p5.js 实现解释器,风格极度友好 |
| Philip Wadler | PL理论 | 爱丁堡大学教授,Haskell 设计者之一,学术讲座频道 |
| Andreas Kling | 浏览器引擎 | SerenityOS 作者,从零构建浏览器引擎的直播,与语言实现高度相关 |
| Turing Complete | 游戏化学习 | 一款"从NAND门构建计算机"的游戏,包含汇编器与编译器关卡 |
本文由「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 等场景全覆盖。
