跳转至

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains (2026-05-27, glm-4.7-flash)

Andrew Kelley 是一位在编程语言构建领域极其罕见的理想主义者。当他拒绝 1 亿美元的投资以保持独立,或为了让 CI (持续集成) 跑通而将核心代码库从 GitHub 迁移至 Codeberg 时,这听起来像是硅谷创业路上的疯狂注脚。然而,他所构建的 Zig 语言正悄然渗透进顶级基础设施中——从 Uber 的交叉编译工具链到 TigerBeetle 这种金融级数据库。本期的对话不仅仅关于一个尚未发布的编程语言,更是一场关于技术自主权、软件哲学与基础设施权力的顶层设计辩论。如果他认为当前的软件开发效率是建立在“糟糕的更好”这一逻辑之上,那么未来 10 年的效率革命,究竟应该期待硅谷的资本共识,还是像 Zig 这样的极客独裁?

Andrew Kelley 的核心世界观是:真正的工程卓越必须建立在基础设施的绝对自主之上,而商业资本的过度介入恰恰是扼杀这种卓越的腐蚀剂。 这一观点极具争议,因为它不仅挑战了采用 Rust 或 Go 这类“务实”语言的主流共识,甚至对 AI 参与代码贡献的有效性发出了根本性的质疑。在他的逻辑里,如果一个项目失去了对底层构建工具(如编译器后端)的控制权,它就永远无法触及“极致的用户体验”这一终极目标;而当资本试图用 1 亿美元购买速度时,他们买到的可能只是放缓的脚步。

核心观点

绝对的基础设施自主是通往极致性能的唯一路径 Andrew 断言,强迫自身受限于第三方基础设施(如 LLVM)是在为性能“穿上旧鞋跑百米”。为解决核心依赖的早晚阻塞问题,他开发了自己的编译器后端,从而将大型项目的增量编译速度提升到了毫秒级,这在 LLVM 无法实现的领域将 Zig 与其他语言物理隔绝开来。 * 底层逻辑: 任何三方的“稳态”都会成为创新的最大瓶颈。正如他调侃的 Killer Queen 物理引擎被新 Unity 版本破坏的案例,核心产品的稳定性绝对不能建立在第三方更新之上。 * 支撑数据: 在拥有百万行代码规模时,Zig 能够实现 50 毫秒内的增量编译更新,这是长期困扰 C/C++ 中文档的现实。

“无 AI 政策”是对稀缺审查资源的功利主义管理 Zig 对 LLM 代码贡献有着近乎偏执的排斥。Andrew 认为,当企业用 AI 投放 PR(Pull Request)时,实际上是浪费了社区的审查时间,且由于 AI 生成的质量低下,这些 PR 对项目毫无价值。 * 底层逻辑: 社区资源(人工审查时间)是极其稀缺的。将时间花在验证“垃圾”代码上,就是拒绝了人类导师向初级贡献者传授系统编程知识的宝贵机会。他将机器生成的代码视为“Drive-by contributor(路过式贡献者)”。 * 具体案例: 他提到目前的仓库里有 200 多个 PR 等待审核,AI 投放的 PR 不仅迅速被拒,还阻塞了真正的开发者获取反馈的时机。

非营利组织的结构性独立优于资本的“安全带” Zig 软件基金会的组织形态选择了一条与其他主流项目截然不同甚至相反的路。其 501©(3) 非营利身份(区别于类似 Rust 基金会的商业联盟 501©(6))使得它免于寻求企业赞助带来的商业追逐,从而避免了为了“下个季度”而妥协设计。 * 底层逻辑: 资本的本质是逐利与扩张,而编程语言的设计需要的是宏观视野与极致克制。Andrew 拒绝 1 亿美元收购的提议,近乎自断后路,坚持维持 154,000 美元的年薪和组织规模,只为换取“可以说不”的权利。 * 支撑数据: 年度收入 67 万美元,全靠多元化的个人捐赠和少量企业赞助维持,没有单一实体的掌控力。

去掉了借用检查器的“简单 RC”:一种交易观的重构 在 Zig 与 Rust 的竞品关系中,Andrew 并不认为 Zig 提供了 Rust 那种严谨的类型学安全,而是提供了一种更贴近物理现实的内存管理权。他宁愿手动管理内存(写 RC 代码),也不愿被迫进入 Rust 的黑盒。 * 底层逻辑: Rust 的类型系统像一种“社会学强制”,强制开发者以某种特定方式观察世界;Zig 则是“物理学强制”——你负责告诉计算机 CPU 该做什么。他推崇 Arena Allocator 等底层性能优化,认为这是对计算机规律的直接调用。 * 应用场景: 对于需要极致性能和可控性的系统(如 TigerBeetle 的预分配内存策略),Zig 的显式控制优于 Rust 的自动借用。

“做得更多”是对“糟糕的更好”的降维打击 面对行业流行的“烂得正好”哲学(如 PHP 或激进迭代的开源项目),Andrew 认为那是在走下坡路。Zig 追求的是以极低的复杂度杠杆撬动极大的效用。 * 底层逻辑: 只有当语言能够对目标操作系统和架构有一致的解释时,工具链才具备可组合性。Zig 的跨平台编译架构允许开发者用一条命令构建任意平台软件,这降低了生态林的准入门槛。 * 项目验证: Uber 在使用 Zig 作为 Go 交叉编译的 C 编译器,解决了一个曾经“不可解”的构建阻塞问题。

批判与质疑

从外部视角审视,Andrew 的论述建立在一个强有力的叙事上,但也存在几个致命的盲点。首先,他对“糟糕的更好”的直接否定可能过于文青化。PHP 和 Go 的崛起并非仅仅因为缺乏远见,而是因为它们解决了新入行者的上手成本生产力问题。在商业世界里,一个能够“快速交付”且“Bug 稍微少点”的工具,比一个“完美”但开发者流失率极高的工具更具有统治力。Zig 迄今尚未发布的 1.0 版本,恰恰暴露了这种“傲慢”可能导致的现实风险——它是否变成了一个精英主义的玩具,而非大众的工具?

其次,关于“无 AI 政策”的论证逻辑存在辩护过度的嫌疑。Andrew 的前提假设是 AI 生成的代码是“垃圾”且“无指导价值”。然而,在工业界,效率往往意味着成果的压倒性规模。假如 AI 能够以机械的操作生成核心逻辑(如样板文件、数学计算或简单的数据处理),虽然代码可能“丑陋”,但确实能完成 70% 的工作量。他利用“教育”作为挡箭牌——认为教 AI 是浪费时间,显示了他陷入了一种特修斯之船式的伦理困境:作为一个重度的系统编程语言,Zig 是否应该在封闭的生态中彻底拒绝技术进步的外部输入?

最后,他的人格型“独裁统治”模式(BDFL)虽然短期内保证了设计的一致性,但在可持续发展上埋下了巨大的地雷。Andrew 自承对管理 100 人无兴趣,并认为 501©(3) 非营利组织的民主化在长期会受金钱腐蚀。这意味着 Zig 的未来依然系于一个“意志”之上。一旦这个意志链路断裂,由于缺乏强大的基金会官僚机构作为缓冲(这也是他刻意规避的),项目可能陷入碎片化,而非像 Rust 那样通过严厉的委员会治理走向成熟。这或许是他“不做任何妥协”哲学在制度设计上的最大妥协——为了未来的民主,必须先忍受长期的独裁。

行业视野

将 Zig 放入更广阔的科技图谱中,我们可以看到它并非一个孤立的存在,而是对当前“上层建筑”与“基础建设”脱节的担忧的第一次技术性刺破。

与 Rust 基金会的竞争实质: Rust 基金会(501©(6))由巨头(AWS, Google, Microsoft)出资,其逻辑是利用大公司的资源推动语言标准,从而在操作系统和云原生领域获得垄断优势,这是典型的“圈地运动”。而 Zig 则是在进行一场“去中心化抵抗”,Andrew 宣称 GitHub 死了是因为 CI 崩溃,宁可移步 Codeberg 这一德国非营利平台,这呼应了开源社区对“科技寡头审查”和“平台锁死”的警惕。Zig 试图证明,不需要巨头的输血,只要有“人”的意愿,精密的工程体系依然可以运转。

对“Glue 语言”现象的回应: Zig 从未宣称自己是全栈语言,而是精准地切入了一个被忽视的缝隙——Glue Code(胶水代码)。Bun 对 Zig 的采用,以及 Uber 对其交叉编译能力的依赖,揭示了后端工程的一个新趋势:当 Go 或 Node.js 处理不了复杂的本地交互或性能瓶颈时,开发者开始回归 C/C++ 世界,并用更现代的语言包裹它。Zig 正好处于这个位置:它保留 C 的灵活性(兼容性),拥有现代语言的体验(提示和错误),却避免了生态系统僵化的陈旧感。这表明行业正在寻找某种“折中”方案,既不妥协性能,也不忍心再写 C++。

历史刻度的参照: Zig 的 10 年延迟 1.0,与 Linux 内核的演进速度惊人地相似。Linux 并未急于发布 1.0,而是在不断的迭代中侵蚀了 Unix 的领地。Andrew 所追求的那种“无条件承诺”的稳定性,正是 C 语言过去 50 年统治力的源泉。在这个 AI 代码泛滥、承诺廉价的年代,Zig 追求的“确信无 Bug”和“啰嗦的严谨友商”,似乎成为了软件工程领域中极其珍贵、甚至可能是一种奢侈的“复古”精神。

启示与建议

这场对话最大的冲击在于对“效率”定义的霸权矫正。如果 Zig 的愿景成立,那么我们将不再单纯地赞美 AI 编码工具的便捷,而是重新评估“理解机器物理法则”对于下一代系统构建者的尊严与必要性。

对于系统开发者: * 重新审视 C/C++ 的替代方案: 不要被 Rust 的借用检查器劝退。如果你想获得 C 的通用性和现代编译器的生产力,Zig 是目前最优雅的中庸之道。其内存管理的显式化(不强迫你用 Arc 或 Box)反而让你能更精确地优化内存布局。 * 关注工具链的自主权: 在选择技术栈时(尤其是核心组件),警惕那些高度依赖第三方编译器或库的项目。基础设施的自主性决定了你能不能在关键时刻灵活重构。

对于开源项目维护者与 CEO: * 鉴别捐赠者的隐性控制: 在寻求 50 万美元赞助时,要像 Andrew 一样警惕“无条件的钱”。不要让它的附带条件违背项目的核心价值观。看清你是为价值买单,还是为买家的指令买单。 * 建立“拒绝的艺术”: 当团队人力有限时,必须建立高效的过滤机制。正如 Zig 的代码审查那样,保护核心贡献者的时间投入产出比。如果一项技术承诺带来的是噪音而非价值,沉默往往比沉默更有力。

强信号: Zig 的多语言胶水能力以及在极端性能场景下的优势正在变成基础设施建设的事实,而非理论探讨。Bun 和 Ghostty 的成功证明了这种“古老架构”在 AI 时代的复生能力。

金句摘录

"Could you take it? I'm sorry, but we will not do what you say. And if you take your money away, we will survive."

"Invariably garbage."

"It's just a pet peeve of mine because linguistically it makes no sense. So I think I think it's better to say doing less with less versus doing more with more. I think Zig is a third option."

"People will never stop writing code because writing code is really fun."

"I think that the gold standard for software is uncompromising labor of love.