2014年,Gary Bernhardt在PyCon上做了一个名为《The Birth & Death of JavaScript》的演讲——一个披着科幻/喜剧外衣的严肃预言。他用虚构的语言"YavaScript"回顾了JS的历史,并展望到2035年:JS将沦为Web的"汇编语言",一切都将编译为JS运行,最终JS本身会被WebAssembly取代。
12年后的2026年,前Netflix资深工程师ThePrimeagen坐下来重新审视这个预言。他的结论比你想的更微妙——JS确实没死,但它的"死亡方式"比Bernhardt预言的更有趣。
| 项目 | 内容 |
|---|---|
| 视频标题 | The End of JS |
| 频道 | ThePrimeagen |
| 订阅数 | 54.3万 |
| 频道简介 | 前Netflix工程师,Vim/Rust/TypeScript狂热者,boot.dev讲师 |
| 核心主题 | 重新审视Gary Bernhardt 2014年"JS之死"预言在2026年的真实状态 |
| 参考素材 | Gary Bernhardt《The Birth & Death of JavaScript》(PyCon 2014) |
Gary Bernhardt在2014年的演讲中构建了一条清晰的技术演化路径。ThePrimeagen逐帧拆解了这条路径,并将其与2026年的现实对照。
Bernhardt的核心预言链是这样的:JavaScript的"赢得Web"并非因为语言优秀,而是因为浏览器是唯一真正的跨平台分发渠道。一旦编译技术成熟,任何语言都能编译成浏览器可执行的代码,JS作为"源码语言"的角色就会终结。他预测的里程碑包括:asm.js的出现(已发生,2013年)→ WebAssembly的标准化(已发生,2017年)→ 主流语言直接编译到Wasm(正在进行)→ JS沦为编译目标而非手写语言。
ThePrimeagen指出,Bernhardt在2014年预测的时间线"出奇地准确"——asm.js确实成为了跳板,WebAssembly确实取代了它,JS确实在某种程度上成为了"编译目标"。但关键偏差在于时间尺度:Bernhardt认为到2035年JS才会真正"死亡",而2026年的现实表明,这个过程比预期慢得多。
我的延伸分析:Bernhardt的预言之所以精准,是因为他理解的不是技术本身,而是技术演化的"选择性压力"。浏览器垄断了分发渠道,这个事实塑造了一切。但他低估了一个因素:生态系统惯性。JS的npm生态有超过300万个包,这个"重力井"使得任何替代方案都需要付出巨大的迁移成本。
ThePrimeagen花大量篇幅讨论WebAssembly的现状。2025年发布的WebAssembly 3.0带来了三个关键特性:垃圾回收(GC)、64位内存寻址、异常处理。这三个特性从根本上改变了Wasm的能力边界。
GC意味着Java、Kotlin、Dart、Scala等依赖垃圾回收的语言现在可以高效地编译到Wasm,而不需要自带运行时。64位内存寻址让Wasm应用突破了4GB内存限制,使其能处理真正的计算密集型任务。异常处理则消除了从高级语言编译到Wasm时的最后一个主要摩擦点。
但ThePrimeagen指出了一个残酷的数字:根据WebAssembly.org的2026年状态报告,只有0.35%的桌面网站和0.28%的移动网站在使用WebAssembly。这不是"即将取代JS"该有的数据。
我的延伸分析:Wasm面临的是一个经典的"先有鸡还是先有蛋"问题。开发者不使用Wasm是因为生态不成熟,生态不成熟是因为开发者不使用Wasm。2026年的Wasm在游戏引擎(Unity/Unreal的Web导出)、视频编辑、CAD工具等领域已经证明了自己,但在日常Web开发中几乎毫无存在感。它在"性能关键路径"上赢了,在"通用开发"上完全没赢。
ThePrimeagen在视频中提出了一个关键论点:Bernhardt的预言有一个盲区——他没有预料到TypeScript。
2026年的数据显示,超过65%的专业JavaScript开发者在使用TypeScript,多个来源预测这个数字到2027年底将达到80%。73%的开发者报告已从纯JS切换到TS。这改变了一切。
TypeScript没有替代JavaScript——它"包裹"了JavaScript。你写的不再是JS,但编译产物仍然是JS。这是Bernhardt预言的一个"变种实现":JS确实成为了"编译目标",但编译源不是C++或Rust,而是TypeScript。
ThePrimeagen对此的评价很有趣:他认为TS的胜利恰恰证明了JS生态的"反脆弱性"。JS社区没有等待一个更好的语言来替代JS,而是发明了一个"更好的JS"来在JS之上工作。
我的延伸分析:TypeScript的成功揭示了一个更深层的技术规律——在生态位竞争中,"寄生/共生"策略往往比"替代"策略更有效。TS不需要杀死JS,它只需要让开发者不再"直接"写JS。这与Bernhardt预言的方向一致(JS成为编译目标),但路径完全不同。
ThePrimeagen花了不少时间讨论那些"不走JS路线"的Web框架。2026年最值得关注的有:
Leptos(Rust + Wasm)和 Sycamore 是Rust生态的Web框架代表。它们将Rust代码编译为Wasm,通过"信号"(signals)架构实现细粒度响应式更新,避免了全量DOM diff。理论上性能远超React/Vue。
Svelte 6虽然仍然输出JS,但其编译时优化哲学代表了Web开发的另一个方向:将更多工作从运行时移到编译时。
ThePrimeagen对这类框架的态度是矛盾的。作为Rust爱好者,他欣赏技术上的优雅;作为在Netflix工作了10年的工程师,他对"生态成熟度"有着极深的警惕。他举了一个具体的例子:一个Leptos项目的构建时间、调试体验、第三方库可用性都与成熟的JS框架不在一个量级上。
我的延伸分析:这其实是"技术债务"与"技术红利"的经典权衡。新框架(Leptos)没有历史包袱,架构更干净,但也意味着重新解决所有"已解决"的问题——表单验证、国际化、无障碍访问、SSR、状态管理、路由等。JS生态用了15年解决了这些问题,Rust/Wasm生态需要多久?
ThePrimeagen在视频中特别强调了一个被忽视的事实:JS引擎本身在不断进化,JS的性能每年都在提升。
V8引擎在2025-2026年引入了多项优化:Maglev编译器为短生命周期的Web应用提供了更快的启动时间,TurboFan的优化管道持续改进。JS的Temporal API终于在2026年成为标准,提供了现代化的日期时间处理。Decorators、Record & Tuple提案也在推进。
ThePrimeagen的观点是:JS的"死亡"被夸大了,部分原因是因为JS引擎团队在持续"续命"。每次有人说JS性能不够,V8团队就优化一版;每次有人说JS缺少特性,TC39就加一个提案。
我的延伸分析:这其实是一个"红皇后效应"——你必须在奔跑中才能留在原地。Wasm、Rust、Go的进步给JS施加了巨大的竞争压力,而这种压力恰恰驱动了JS自身的快速进化。如果没有这些竞争者,JS可能真的会"死去"。
综合以上分析,ThePrimeagen在视频中给出了他的结论——一个比"JS已死"或"JS永生"都更复杂的判断:
JavaScript作为"手写语言"正在缓慢衰落,这个过程从TypeScript成为主流时就已经开始了。但JavaScript作为"运行时"和"编译目标"比以往任何时候都更强大。Wasm并没有杀死JS,反而迫使JS变得更好。
他的最终判断引用了Bernhardt原话的精髓:"JS的死亡不会是一场轰轰烈烈的革命,而是一次悄无声息的演化。"到2035年,可能没人会"写JavaScript",但浏览器里的第一行代码可能还是某种形式的JS。
ThePrimeagen还补充了一个Bernhardt没提到的角度:AI代码生成。2026年,大量代码由AI生成,而AI生成JS/TS的质量远高于生成Wasm。这意味着AI可能反而"延长"了JS的寿命——因为AI的"偏好"会强化已有的生态优势。
mindmap
root((JS之死:2026验尸))
Gary Bernhardt 2014预言
JS成为Web汇编语言
asm.js → Wasm演化路径
2035年JS被替代
预言时间线基本准确
WebAssembly 3.0现状
垃圾回收GC支持
64位内存寻址
异常处理
仅0.35%网站使用
游戏引擎/CAD领域成功
通用Web开发几乎无存在感
TypeScript的变种胜利
65+专业开发者使用
73已从JS切换到TS
JS成为编译目标
寄生共生策略
反脆弱性体现
编译到Wasm的新范式
Leptos Rust+Wasm
Svelte 6编译优化
性能优势明显
生态成熟度不足
构建调试体验差距
JS引擎自我革命
V8 Maglev编译器
TurboFan持续优化
Temporal API标准化
红皇后效应
竞争驱动进化
AI延长JS寿命
AI生成JS质量高
AI偏好强化生态优势
新的续命因素
别慌,JS不会在短期内消失。但你需要做的是主动拥抱"编译到JS"的思维转变。具体来说:
立即切换到TypeScript(如果你还没有的话)。这不是可选项,这是2026年的基本职业素养。65%+的专业开发者已经在用,再不切换你将成为少数派。
了解WebAssembly但不必急于投入。如果你在做常规的Web应用(CRUD、后台管理、电商),Wasm在短期内不会改变你的工作方式。但如果你在做图像处理、视频编辑、3D渲染等性能敏感的应用,现在就是学习Wasm的时机。
关注Rust+Wasm组合。如果你打算学习一门"编译到Wasm"的语言,Rust是目前生态最成熟的。Leptos、Yew等框架虽然在生产环境中还不够成熟,但趋势明确。
ThePrimeagen作为后端工程师(他在Netflix写了10年性能关键软件),他的视角特别值得后端开发者参考:不要从"JS好不好"的角度思考问题,要从"分发渠道"的角度思考。浏览器是地球上最大的分发平台,任何能在这个平台上运行的语言都有巨大的战略价值。这就是为什么Rust+Wasm、Go+Wasm的投资是值得的。
ThePrimeagen的视频隐含着一个对技术决策者很重要的启示:不要押注于"替代JS"的技术路线。相反,应该押注于"增强JS"的路线。TS的胜利证明了,在生态位竞争中,渐进式改进的ROI远大于革命性替代。你的团队迁移到TypeScript的成本远低于迁移到Leptos/Rust+Wasm的成本。
JavaScript没有死,它只是在TypeScript的包裹下悄然转型为"编译目标"——这正是Gary Bernhardt在12年前预言的方向,只是路径比他想象的更加迂回。
本文由「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 等场景全覆盖。
