首页 › programming › 从零造轮子:硬核编程自修三件套

从零造轮子:编译器、操作系统、模拟器——YouTube硬核编程自修三件套(2026年第5轮精选)

概述:为什么“造轮子”是程序员最深度的学习方式

在AI能一键生成代码的2026年,程序员最稀缺的能力恰恰是对计算本质的深度理解。而检验这种理解最古老也最有效的方式,就是“从零造轮子”(Build from Scratch):亲手写一个编译器、一个操作系统、一个模拟器。这三个项目被称为系统编程的“三大圣杯”,因为它们分别拆解了计算机的三个核心层次——语言如何变成机器码(编译器)、机器码如何被调度执行(操作系统)、硬件如何被软件精确模拟(模拟器)。

本期精选从海量YouTube内容中筛出8个最具实战价值的频道/系列。选择标准有三条:项目完整性(从第一行代码到可运行成品,而非碎片化概念讲解)、代码透明度(全部代码开源或全程直播、可跟写)、低依赖性(不依赖LLVM等重型工具链遮蔽原理)。所有数据来自2026年8月28日的真实抓取结果。

本期精选对比总览

频道 代表内容 方向 语言/工具 难度 热度(抓取数据)
Pixeled Let's Create a Compiler(8集) 编译器 C++ ★★★★ 首集93.1万播放
Tyler Laceby Build a Custom Scripting Language(11课) 解释器/编译器 TypeScript ★★★ 单课27分钟入门
Computerphile Creating Your Own Programming Language 语言原理 Python ★★ 36.6万播放
chongly The Horror of Building a Compiler From Scratch 编译器复盘 C/C++ ★★★★ 11.9万播放(2026年新片)
nanobyte Building an OS(28集) 操作系统 C/汇编 ★★★★★ 28集系统课程
Developed From Scratch OS Dev from scratch Part 1 操作系统 ARM64/QEMU ★★★★★ 20.8万播放
offlinemark building my own OS in C++(第134周) 操作系统直播 C++/x86_64 ★★★★★ 已连续直播134周
javidx9 (One Lone Coder) NES Emulator From Scratch 模拟器 C++ ★★★★ NES系列多集经典

1. Pixeled —《Let's Create a Compiler》:播放量最高的编译器实战系列

链接:https://www.youtube.com/watch?v=vcSijrRsrY0 (频道@PixeledContents,共8集)

这是YouTube上被引用最多的“从零写编译器”实战系列,首集93.1万次播放,发布三年仍是该领域的事实入门标准。Pixeled用C++从词法分析器(Lexer)一路写到完整编译器(项目代号hydrogen,全部代码开源于GitHub: github.com/orosmatthew/hydrogen-cpp)。

首集的讲法尤其值得称道:他不急着讲理论,而是先用Linux下的nasm手写一个最小汇编程序,直接通过syscall与内核对话,让你亲眼看到“源码→汇编→目标文件→链接→可执行文件”的完整管线。理解了终点长什么样,再回头写前端,每一步都知道自己为什么在做这件事。

核心要点: - 用nasm+syscall建立“编译的终点”直觉,再倒推设计前端 - 词法分析→语法分析→抽象语法树→目标码生成,全链路手写 - 单集时长约70分钟,8集总量约9小时,适合周末跟写 - 全部代码开源,Issues区有大量学习者讨论

实用价值:写完这个系列,你会对“为什么这段代码慢”“为什么报错信息长这样”有根本性答案。面试中聊编译原理时能拿出实际项目,含金量远超背八股。

适合人群:有C++基础、想打通底层的中级开发者;编译原理课程挂科后想自救的学生。

flowchart LR
    A[源代码文本] --> B[Lexer 词法分析]
    B --> C[Token流]
    C --> D[Parser 语法分析]
    D --> E[AST 抽象语法树]
    E --> F[Codegen 代码生成]
    F --> G[汇编代码]
    G --> H[nasm 汇编]
    H --> I[目标文件]
    I --> J[链接器]
    J --> K[可执行文件]
    style F fill:#2d6a4f,color:#fff

2. Tyler Laceby —《Build a Custom Scripting Language》:对前端开发者最友好的入门线

链接:https://www.youtube.com/@tylerlaceby (11课系列课程)

如果说Pixeled是C++路线的标杆,Tyler Laceby则是为Web开发者铺设的“用TypeScript写语言”路线。这门11课的系统课程从《How To Build A Programming Language From Scratch》(27分钟导论)开始,覆盖AST定义、解析器、求值器,最终构建一门自定义脚本语言。

它的独特价值在于降低了两道门槛:其一,用你最熟悉的TypeScript写,注意力全部集中在语言本身的原理而非内存管理;其二,从解释器(Interpreter)入手而非编译器——解释器直接在AST上求值,跳过了汇编生成的复杂度,是理解“语言如何执行”的最短路径。学会解释器后,再去看编译器,只需要补“后端生成”这一段。

核心要点: - 解释器先行:AST求值器是理解语言执行的最短路径 - TypeScript实现,Web开发者零迁移成本 - 课程化编排(11课递进),比单支长视频更适合系统学习 - 同一套思路可直接迁移到写自家业务的DSL(领域特定语言)

实用价值:前端工程师写完这套课程,再看Babel插件、ESLint规则、模板引擎源码时会有“原来如此”的通透感——这些工具的本质都是“解析→转换→生成”。

适合人群:前端/全栈工程师、想把JS用出新高度的开发者、需要为业务定制DSL的团队。


3. Computerphile × Laurie Tratt —《Creating Your Own Programming Language》:21分钟理论打底

链接:https://www.youtube.com/@Computerphile (36.6万播放,发布于一年前)

Computerphile是计算机科普领域的老牌劲旅,这期视频请来伦敦国王学院的Laurie Tratt博士,用21分钟现场用Python从零构建一门全新编程语言的迷你解释器:从计算器功能起步,逐步加入变量和循环,引出栈式虚拟机(Stack Machine)的核心概念。

它与实战系列互补的价值在于学术视角的精准:Tratt博士不炫技,而是回答“什么是一门语言”这个根本问题——语法只是皮,语义和求值模型才是骨。36.6万播放量在一众学术向内容中相当亮眼。建议将它作为整个自修路线的“第一站”,建立概念地图后再进入动手项目。

核心要点: - 21分钟内走完“语言是什么→解释器如何求值→栈机如何工作” - 从计算器到变量、循环的渐进式构建,教学节奏极佳 - 学术研究者亲自讲解,概念严谨无偷工减料 - 与《Crafting Interpreters》一书的理念一脉相承,可配合阅读

实用价值:为后续所有动手项目提供理论坐标。理解栈式虚拟机后,再看JVM、CPython字节码、WASM都会有似曾相识之感。

适合人群:所有准备启动“造轮子”项目的学习者,作为预习材料;计算机专业学生。


4. chongly —《The Horror of Building a Compiler From Scratch》:2026年最真实的造轮子复盘

链接:https://www.youtube.com/watch?v=THIkjQnqsbw (11.9万播放,2026年4月发布)

这是本期精选中最新鲜的内容。博主chongly自创了一门语言"max--",用C/C++从零写完整编译器,然后把整个过程的“恐怖之处”坦诚复盘。4个月拿下11.9万播放,说明“真实的踩坑记录”比“顺利的教程”更能引发共鸣。

视频的可贵之处在于它不回避失败:类型系统的边界情况、错误信息的定位、寄存器分配的复杂性——这些教程视频往往一笔带过的坑,正是真实项目的主体。它与Pixeled的教程形成完美互补:先看Pixeled学“怎么做”,再看chongly懂“会撞上什么”。

核心要点: - max--语言:从设计到编译器实现的完整个人项目记录 - C/C++手写,无LLVM依赖,直面代码生成的一切复杂度 - 诚实复盘失败与返工,呈现项目的真实心理曲线 - 2026年新片,代表当前个人编译器项目的典型技术栈

实用价值:给准备启动项目的人打“心理疫苗”——知道坑在哪,就不会在第一周放弃。同类的还有Adam McDaniel的《Compilers, How They Work, And Writing Them From Scratch》(34万播放,youtube.com/watch?v=QdnxjYj1pS0),他开源了自己的sage编译器(adam-mcdaniel.net/sage-website)。

适合人群:正在或即将启动编译器项目的人;想了解“教程与实战差距”的中级开发者。


5. nanobyte —《Building an OS》:28集最系统的操作系统开发课

链接:https://www.youtube.com/@nanobyte-dev (28集系列)

频道定位为"technology, programming, osdev, low level, assembly"(《Building an OS》系列共28集,从《Building an OS - 1 - Hello world》(23分钟)到《Building an OS - 2 - Reading from the disk》(35分钟)逐集递进),是YouTube上编排最完整的OS开发系统课程之一。

它最大的优点是节奏克制:不追求炫目成果,而是严格按启动链路推进——引导扇区、实模式、读磁盘、进入保护模式,每一集只解决一个问题,且每一步都在QEMU里可见可验证。OS开发最劝退的就是“黑箱感”,nanobyte用小步快跑彻底消除了它。

核心要点: - 从BIOS引导扇区开始,第一集就能在屏幕打出"Hello world" - 磁盘读取、文件系统、内核加载,按真实启动链路组织 - QEMU模拟环境,无需特殊硬件,普通电脑即可跟做 - 28集体量覆盖一个玩具OS的完整生命周期

实用价值:学完你会真正理解“按下电源键后发生了什么”——这段知识对内核工程师、嵌入式工程师、安全研究员都是硬通货。

适合人群:有C和基础汇编功底、想进入系统编程领域的开发者;准备面试系统岗位的工程师。

flowchart TD
    A[电源启动 BIOS] --> B[引导扇区 512字节]
    B --> C[实模式 16位]
    C --> D[读取磁盘加载内核]
    D --> E[切换保护模式 32位]
    E --> F[内核入口]
    F --> G[内存管理/分页]
    F --> H[中断处理]
    F --> I[驱动: 屏幕/键盘]
    G --> J[用户程序]
    H --> J
    I --> J
    style B fill:#9b2226,color:#fff
    style F fill:#2d6a4f,color:#fff

6. Developed From Scratch — ARM64+QEMU:一条面向未来的OS开发路径

链接:https://www.youtube.com/watch?v=X82l37rAnP8 (20.8万播放,发布一年前)

当大多数OS教程还停留在x86时,这个频道选择了ARM64+QEMU的现代组合:为QEMU的virt虚拟机构建64位操作系统,从底层ARM架构的"Hello World"输出开始,逐步配置基于PCI的VirtIO GPU、建立内存分配器、管理基础硬件通信。首集38分钟拿下20.8万播放。

选ARM64不只是追新:ARM处理器已主导手机、嵌入式乃至云计算(AWS Graviton),而RISC-V等新架构的资料也多以ARM为参照。在这条路径上学的分页、异常向量、设备树(Device Tree)知识,可以直接迁移到真实芯片开发。

核心要点: - QEMU virt平台+VirtIO GPU:标准化虚拟硬件,社区文档完善 - ARM64架构:当代移动与云计算的主流指令集 - 首集即完成交叉编译环境+裸机点亮屏幕 - 同类对比:MalwarePad的《90 days of making my own operating system》(11.7万播放)记录了用C写cavOS的90天历程,含键盘驱动与简易shell实现,适合作为陪伴式参考

实用价值:为嵌入式、固件、云原生底层方向铺路。嵌入式工程师学这套内容等于在补“自己产品的另一半原理”。

适合人群:嵌入式开发者、对移动/云底层感兴趣者、已完成x86入门想进阶的OS爱好者。


7. offlinemark — 第134周的OS开发直播:一场行为艺术般的持久战

链接:https://www.youtube.com/@offlinemark (系列进行中,第134周直播于2026年8月下旬)

offlinemark正在做一件YouTube上极罕见的事:用C++写一个x86_64操作系统,并且每周直播进度。到2026年8月,这个项目已进行到第134周(约两年半),最近一期直播内容是LAPIC定时器(本地高级可编程中断控制器)的实现,单期观看量约5千——小众,但社区粘性极高。

它的价值不在“教你”,而在展示真实工程的节奏:一个严肃的业余OS项目到底长什么样?不是一周速成的玩具,而是以周为单位、有版本演进、有架构决策记录的马拉松。博主还会在直播中回应观众提出的系统编程难题,直播区本身就是一个小型OS开发社区。

核心要点: - x86_64+C++,目标是一个能真正跑起来的现代64位OS - 周更直播134周,每期聚焦一个具体子系统(最近:LAPIC定时器) - 完整保留开发过程:调试、回退、重构全部可见 - 配套代码与笔记开源在博主GitHub

实用价值:对独自造OS的人而言,这是最好的“陪跑样本”——当你第三周想放弃时,看看第134周的前辈在做什么,就知道这条路走得通。

适合人群:已有OS开发基础、独自维护长期项目的开发者;对真实工程过程好奇者。


8. javidx9 (One Lone Coder) — NES模拟器系列:模拟器方向公认的起点

链接:https://www.youtube.com/@javidx9 (频道ID: UC-yuWVUplUJZvieEligKBkA)

javidx9是底层编程教学圈的传奇人物,频道简介写着:"Everybody has the ability to write good, useful and fun code. No hate, no patronising, just tech and code."(人人都有能力写出优秀、有用、有趣的代码。无戾气、不说教,只有技术与代码。)他的《NES Emulator From Scratch》系列从《Part #1: Bitwise Basics & Overview》(40分钟)开始,手把手用C++写出一台能真跑游戏卡带的任天堂NES模拟器。

模拟器是三大项目中正反馈最强的:写编译器要到最后才能运行程序,写OS要到中期才有画面,而NES模拟器在第几集就能让像素动起来,成就感即时到账。javidx9先讲位运算基础再进6502 CPU指令集实现的编排,也让零基础学习者不会在第一集就窒息。他频道里的命令行贪吃蛇、火焰算法、 raycasting引擎等系列同样是底层学习的优质支线。

核心要点: - 位运算→6502 CPU→PPU图形→卡带映射器,完整NES架构逐层实现 - C++单文件风格(olcPixelGameEngine),环境搭建极简 - 即时正反馈:早期就能看到游戏画面逐渐点亮 - 入门支线:CHIP-8是更温和的起点,Iridescence的《Introduction to Emulation: Build your own CHIP-8 emulator in just 1 hour!》(约63分钟)与Low Level Game Dev的C语言CHIP-8系列都是公认的第一站

实用价值:模拟器开发是理解CPU指令周期、内存映射IO最生动的方式,对游戏开发、逆向工程、嵌入式方向都有直接帮助。

适合人群:游戏开发者、复古计算爱好者、想用“好玩”驱动学习的所有人。

flowchart TD
    A[NES模拟器架构] --> B[6502 CPU核心]
    A --> C[PPU 图形处理器]
    A --> D[卡带映射器 Mapper]
    B --> E[指令集解释循环]
    B --> F[内存映射 IO]
    C --> G[背景/精灵渲染]
    C --> H[VRAM调色板]
    D --> I[PRG-ROM 程序 bank切换]
    D --> J[CHR-ROM 图形 bank切换]
    E --> K[运行真实游戏ROM]
    G --> K
    I --> K
    style K fill:#2d6a4f,color:#fff

本期知识图谱:三大项目如何构成一张理解计算机的完整地图

flowchart TD
    ROOT[从零造轮子<br>理解计算机本质] --> P1[编译器之路]
    ROOT --> P2[操作系统之路]
    ROOT --> P3[模拟器之路]

    P1 --> A1[Computerphile 理论打底<br>21分钟]
    P1 --> A2[Tyler Laceby<br>TS解释器 11课]
    P1 --> A3[Pixeled<br>C++编译器 8集]
    P1 --> A4[chongly<br>实战复盘 max--]

    P2 --> B1[nanobyte<br>x86引导链 28集]
    P2 --> B2[Developed From Scratch<br>ARM64+QEMU]
    P2 --> B3[offlinemark<br>134周直播长跑]

    P3 --> C1[Iridescence CHIP-8<br>1小时入门]
    P3 --> C2[javidx9<br>NES模拟器]

    A4 -.踩坑经验反哺.-> A3
    A2 -.解释器概念迁移.-> C1
    B1 -.硬件中断知识.-> C2
    A1 -.栈式虚拟机.-> B2

    style ROOT fill:#1d3557,color:#fff
    style P1 fill:#457b9d,color:#fff
    style P2 fill:#2d6a4f,color:#fff
    style P3 fill:#9b2226,color:#fff

推荐学习路径: Computerphile理论打底 → Tyler Laceby解释器入门 →(选一条主线深入)编译器方向走Pixeled+chongly复盘 / OS方向走nanobyte→Developed From Scratch / 模拟器方向走CHIP-8一小时→javidx9 NES → offlinemark长期陪跑。


延伸推荐

  1. Low Level(@LowLevelTV)— 代表作《before you code, learn how computers work》120万播放,用"C→汇编→逆向工程"三步法给出底层学习总路线,适合作为整个自修计划的导航片。
  2. Ben Eater(@BenEater,139万订阅)— 面包板上从芯片搭建8位计算机与6502电脑,《"Hello, world" from scratch on a 6502》570万播放。模拟器写累了去看看真实硬件如何流动每一比特,治愈且震撼。
  3. Immo Landwerth (terrajobst) — 前微软.NET团队,28集《Building a Compiler》课程(每集约1.5小时),工程化程度最高,适合从玩具迈向“可维护编译器”的进阶者。
  4. Julian Hartl — 《Building a compiler in rust》11集,每集2小时左右的Rust编译器实现,想顺手学Rust者的双倍收益之选。
  5. Fireship — 《Every operating system concept in one video…》(69.6万播放,2026年5月)与《LLVM in 100 Seconds》(100万播放),用十分钟即可打通概念盲区的速览神器。

参考来源

  1. YouTube搜索结果:write a compiler from scratch — Pixeled、chongly、Computerphile、Tyler Laceby等编译器内容的抓取数据来源
  2. YouTube搜索结果:build an operating system from scratch — nanobyte、Developed From Scratch、offlinemark等OS开发内容的抓取数据来源
  3. nanobyte频道页 — 频道定位(osdev/low level/assembly)与频道ID验证
  4. javidx9频道页 — One Lone Coder频道简介与NES Emulator系列验证
  5. YouTube搜索结果:build an emulator from scratch chip8 — CHIP-8与NES模拟器相关频道数据来源
  6. YouTube搜索结果:Ben Eater breadboard computer — Ben Eater订阅数(139万)与播放量数据来源
  7. hydrogen-cpp GitHub仓库 — Pixeled编译器系列开源代码
  8. sage编译器官网 — Adam McDaniel开源编译器项目

注:文中播放量均为2026-08-28抓取的快照数据;nanobyte、Tyler Laceby、offlinemark等频道的订阅数未在本次抓取中直接确认,故未列出,以实际频道页面为准。


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