首页 › programming › 手写编译器八强频道自修地图

手写编译器八强频道自修地图:从读懂汇编到造出一门语言

一、本期主题概述

本期是第2轮精选,聚焦编程与开发分类下最硬核、也最容易被教程市场忽略的一条深水区赛道:语言实现与底层系统——也就是解释器、编译器、运行时,以及“代码到底在机器里发生了什么”。

选择这个角度有三个原因。第一,2026年随着AI编程助手的普及,“写代码”的门槛大幅下降,但“理解代码为什么这样跑”的价值不降反升:能读懂编译器输出、能手写解释器的工程师,恰恰是能驾驭AI工具而不被其误导的人群。第二,过去几轮已覆盖算法、前端、移动开发、Rust语法、AI结对编程等方向,语言实现这条线尚未系统性梳理过。第三,这条赛道的学习资料天然碎片化——书籍(如《Crafting Interpreters》)与视频散落各处,而YouTube上恰好存在一批以“从零手写”为方法论的频道,它们组成了一条完整的进阶阶梯。

本期精选8个频道/频道代表作,按技能阶梯从低到高排列:先看懂编译器在干什么(Matt Godbolt、Low Level),再重造标准库理解语言内部(Jon Gjengset),然后动手写第一个解释器(CodePulse)、长期实战(Tsoding),进而挑战自举编译器(Bitwise),同时吸收“逐行造物”的方法论(Molly Rocket),最后望向学术前沿(Rachit Nigam)。这条路径不追求速成,但对建立真正的底层直觉极为有效。

二、频道对比总览

# 频道/系列 主理人 订阅规模 定位 难度 语言/工具
1 Matt Godbolt / CppCon演讲 Matt Godbolt —(Compiler Explorer作者) 读懂编译器输出 ★★★ C++/汇编
2 Low Level 匿名安全研究员 约110万+ 底层原理与安全 ★★ C/汇编
3 Jon Gjengset Jon Gjengset(MIT博士) 超10万 重造Rust标准库 ★★★★ Rust
4 CodePulse David Callanan 中小体量 第一门自制语言 ★★ Python
5 Tsoding Daily Artem (Tsoding) 约21.6万 从零实战直播 ★★★★ C/Rust等
6 Bitwise Per Vognsen 约1万 CPU+OS+编译器全套 ★★★★★ C
7 Molly Rocket Casey Muratori —(系列已完结归档) 逐行造一个完整游戏 ★★★★★ C++
8 Rachit Nigam Rachit Nigam(MIT教授) 小众 语言×硬件学术前沿 ★★★★★ Calyx/MLIR类

三、自修路径:技能阶梯图

flowchart TD
    A[入口: 会用一门语言] --> B[读懂编译器输出<br/>Matt Godbolt]
    A --> C[理解机器底层<br/>Low Level]
    B --> D[重造标准库<br/>Jon Gjengset]
    C --> D
    D --> E[写第一个解释器<br/>CodePulse]
    E --> F[长期从零实战<br/>Tsoding]
    F --> G[挑战自举编译器<br/>Bitwise]
    F --> H[逐行造完整系统<br/>Molly Rocket]
    G --> I[前沿视野<br/>Rachit Nigam]
    H --> I
    I --> J[目标: 建立完整<br/>语言实现直觉]

四、逐个深度解读

1. Matt Godbolt:先看懂“编译器替你做了什么”

链接:youtube.com/mattgodbolt | 代表演讲:Compiler Explorer: The Features You Never Knew Existed (CppCon 2025)

Compiler Explorer(godbolt.org)的作者Matt Godbolt是这条赛道绕不开的名字:几乎所有C++工程师都用过他做的在线工具——粘贴代码、即时看到各编译器产出的汇编。他2025年在CppCon做了压轴主题演讲 C++: Some Assembly Required,探讨C++生态如何围绕“汇编可见性”有机演化;2026年1月CppCon频道还发布了他的 Compiler Explorer: The Features You Never Knew Existed,演示了这个工具那些鲜为人知的深度功能(对比多编译器、指令集高亮、优化标注等)。他的经典演讲 What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid 更是被社区视为“打开编译器盖子”的入门必看。核心洞察:编译器不是黑盒,源码与汇编之间的映射是可以练出来的直觉。实用价值:学会读汇编后,性能调优、UB排查、理解内联与向量化都不再靠猜。适合人群:写过C/C++/Rust但从未看过编译产物的工程师——这是整条阶梯的第一级。

2. Low Level:抽象之下的机器世界

链接:youtube.com/@LowLevelTV

Low Level(原Low Level Learning)是底层领域的头部频道,截至2026年8月订阅约110万、视频360余支、总播放超1.2亿(据SoraStats与Developer Educators数据)。主理人是有十余年经验的漏洞研究员,内容覆盖计算机体系结构、嵌入式系统、内存安全与软件安全——正好补齐语言实现所需的“机器心智模型”:栈帧如何布局、缓冲区溢出如何发生、一段C代码编译后内存里究竟是什么。相比Godbolt的“编译器视角”,Low Level提供的是“攻击者与系统视角”,两者互补。更新频率为每周一更,短小精悍,适合作为通勤时的底层直觉充电。实用价值:理解内存与二进制层面发生的事,是后续手写解释器时设计内存模型的底气。适合人群:从高级语言转底层的开发者、对安全感兴趣的系统工程师。

3. Jon Gjengset:Crust of Rust——把标准库拆开重造

链接:youtube.com/@jonhoo | Crust of Rust 播放列表

MIT博士、Rust社区知名教育者Jon Gjengset的 Crust of Rust 系列有个独特方法论,官方描述是“通过真实示例与可运行代码理解中级Rust概念,常常重新实现标准库的功能”——比如亲手实现Channel通道、迭代器、智能指针,再与标准库对照。这种“先造一遍再看官方版”的路径,正是语言实现思维的核心训练:你不只是用API,而是理解API背后的机制与取舍。他的Atomcis与内存排序专题更是把最难讲的并发原语拆解得丝丝入扣。单支视频时长常在2-4小时,信息密度极高,据其频道页面订阅已超10万。实用价值:中级到高级Rust的分水岭课程,同时训练“机制还原”这一通用能力。适合人群:已掌握Rust基础、卡在生命周期与并发进阶的开发者。

4. CodePulse:用一个周末写出自制语言MyoPL

链接:youtube.com/@CodePulse | 第一集:Make YOUR OWN Programming Language - EP1: Lexer | 配套代码:github.com/davidcallanan/py-myopl-code

如果前三个频道是“理解”,CodePulse的 Make YOUR OWN Programming Language 系列就是最平易近人的“动手”入口。主理人David Callanan用Python从零实现了一门BASIC风格的语言MyoPL:从词法分析器(Lexer)开始,逐集加入语法解析、AST、解释执行,共14集完结(据GitHub仓库说明)。它的价值在于极低的启动成本——不需要C语言功底,不需要编译理论先行,跟着敲就能在几天内得到一门“真的能跑”的语言。许多人反馈这正是从“编译原理恐惧症”中破冰的第一课。配套仓库按集分目录,便于对照。实用价值:建立词法→语法→语义→求值的完整流程体感,之后再去啃龙书或《Crafting Interpreters》会顺滑得多。适合人群:任何会Python的程序员,尤其推荐给想入门语言实现但被学术教材劝退过的读者。

5. Tsoding:从零造物的长期直播实验室

链接:youtube.com/@tsodingdaily | 主频道:youtube.com/@Tsoding

Tsoding是“Recreational Programming(娱乐性编程)”流派的代表人物。频道自述为“Tsoding的开发日志”,据SocialCounts统计,Tsoding Daily订阅约21.6万、视频近700支、总播放超3000万。他的招牌做法是直播从零实现完整项目:不用框架、不用库,从空文件开始写起——解释器、语言、游戏、编辑器都造过,常以C或Rust实现。与剪辑精良的教程不同,Tsoding的录像保留了真实的思考、试错与重构过程,这恰是“从零造物”最珍贵的学习材料:你能看到高手如何面对未知错误、如何增量验证。看他的直播像结对一位严格但耐心的导师。实用价值:学的不只是知识点,而是“从零到可运行”的工程节奏感。适合人群:已完成入门项目、想挑战独立造物但仍惧怕空仓库的开发者。

6. Bitwise:CPU、操作系统与编译器的一体化史诗

链接:youtube.com/@pervognsen_bitwise | 开篇:Bitwise, Day 0: Overview and Q&A | 配套:github.com/pervognsen/bitwise

Per Vognsen的Bitwise是社区公认的传奇系列:GitHub官方描述为“一个教育性项目,从零创建一台计算机的完整软硬件栈”——先设计CPU与指令集,再写操作系统,最后为其手写编译器,目标语言Ion贯穿全程。Day 0概览视频播放已超6万。系列在更新至第67天左右停更(据Wookash Podcast在2026年5月的回顾帖),但已完成的几十集、每集1.5-3小时,依然是中文社区知之甚少的宝藏:它示范了语言实现不是孤立技能,而是与硬件、系统紧密结合的整体。另有开发者受其启发录制了 Programming a Compiler in C 系列(用C实现Ion),可作对照学习。实用价值:打通“硬件→系统→语言”三层认知,理解编译器为谁而生。适合人群:有较强C语言功底、想一次吃透整机的深度学习者;普通读者可选择性观看编译器相关章节。

7. Molly Rocket(Casey Muratori):Handmade Hero与“逐行造物”方法论

链接:Handmade Hero 完整播放列表 | 官网:hero.handmade.network

据Handmade Network官方页面,Handmade Hero是Casey Muratori自2014年11月17日开始的项目:从零、无引擎无库,打造一款专业品质的游戏,并解释每一行源代码,预估总长超600集。据Wikipedia,Casey是Bink Video与Granny 3D的开发者,也是即时模式GUI(IMGUI)概念的推广者。Molly Rocket官网现已注明该系列“退役”归档,其新课迁至computerenhance.com,但YouTube上的公开剧集依然是“逐行讲解”教学法的巅峰范本:没有省略号、没有“留给读者练习”,每行代码都给出理由。对语言实现者而言,它传授的是更底层的东西——性能至上主义与对抽象成本的敏感,这正是编译器作者必备的品味。实用价值:建立“每行代码都有原因”的工程哲学。适合人群:想彻底理解程序与硬件关系的中高级开发者;游戏方向尤其契合。

8. Rachit Nigam:语言与硬件交界的学术前沿

链接:youtube.com/@notypes | 主页:people.csail.mit.edu/rachit

如果说前七个频道教你“造轮子”,MIT助理教授Rachit Nigam的频道则展示轮子的下一个形态。据其MIT官方简介,他于2025-26学年起在MIT电子工程与计算机科学系任教,领导FLAME实验室,研究方向是编程语言与计算机体系结构的交界——构建把程序变换为体系结构的编译器(博士毕业于康奈尔,师从Adrian Sampson)。他的频道内容偏向编译器研究、硬件描述语言与领域专用语言(DSL),订阅量不大但含金量极高:你能看到FPGA编译、中间表示设计等工业界尚少公开讨论的话题。AI芯片浪潮下,“语言×硬件”编译栈正成为热点,这个频道提供了罕见的早期视野。实用价值:把自修所学对接到学术与产业前沿方向。适合人群:研究生、编译器方向从业者、对专用加速器感兴趣的系统工程师。

五、本期知识图谱

graph TB
    subgraph 入门层["看懂机器与编译器"]
        GODBOLT["Matt Godbolt<br/>Compiler Explorer"]
        LOWLEVEL["Low Level<br/>底层与安全"]
    end
    subgraph 进阶层["机制还原与第一次动手"]
        JON["Jon Gjengset<br/>Crust of Rust"]
        CODEPULSE["CodePulse<br/>MyoPL解释器"]
    end
    subgraph 深水区["从零造完整系统"]
        TSODING["Tsoding<br/>从零直播实战"]
        BITWISE["Bitwise<br/>CPU+OS+编译器"]
        MOLLY["Molly Rocket<br/>Handmade Hero"]
    end
    subgraph 前沿层["学术与产业交汇"]
        RACHIT["Rachit Nigam<br/>语言×硬件"]
    end
    GODBOLT --> JON
    LOWLEVEL --> MOLLY
    JON --> TSODING
    CODEPULSE --> TSODING
    TSODING --> BITWISE
    MOLLY --> BITWISE
    BITWISE --> RACHIT
    TSODING --> RACHIT

六、延伸推荐

  1. 《Crafting Interpreters》配套生态(craftinginterpreters.com)——Bob Nystrom的免费在线书,与CodePulse、Tsoding形成“书+视频”组合拳,前半本树遍历解释器、后半本字节码虚拟机。
  2. Writing an OS in Rust(os.phil-opp.com)——Philipp Oppermann的博客系列,YouTube上有大量逐篇walkthrough(如Rust OS播放列表),从裸机内核视角反哺语言运行时理解。
  3. CppCon官方频道——Godbolt历年演讲及其他编译器/模板元编程话题的集散地,年度更新。
  4. Wookash Podcast——近年访谈过Per Vognsen等从零造物系代表人物,可作人物侧写与方法论补充。
  5. rdfm的Programming a Compiler in C——粉丝受Bitwise启发用C完整实现Ion语言的系列,适合作为“看完别人造轮子后自己也造一遍”的中途参照。

参考来源

  1. Bitwise - YouTube(Per Vognsen频道及Day 0概览) — 系列定位、订阅与播放数据来源
  2. Tsoding Daily统计(SocialCounts) 与 Developer Educators频道报告 — 订阅/播放数据交叉验证
  3. CppCon 2025 Keynote公告:Matt Godbolt 与 Godbolt本人CppCon 2025回顾博客 — 演讲信息交叉验证
  4. Rachit Nigam传记页(MIT CSAIL) — 职务与研究方向的官方表述

本文由「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学通信知识星球海报-扫码加入