AIGridHQ News
返回首页

没有LLVM、没有libc!这款极致纯粹的系统语言Mach实现完全自编译,正在寻找贡献者

📅 2026-06-09 Hacker News Top

没有LLVM、没有libc!这款极致纯粹的系统语言Mach实现完全自编译,正在寻找贡献者

在编程语言的世界里,依赖LLVM工具链和C标准库几乎成了系统级语言的“标配”。然而,一项名为Mach的全新开源项目正在打破这一范式。近日,其创建者在Hacker News上宣布,Mach编译器实现了里程碑式的完全自主编译(Self-Hosting),并且整个工具链从源码到可执行文件不依赖任何外部库——没有LLVM,没有libc绑定,甚至用于历史引导的C编译器也已被彻底淘汰。Mach正以一种“极致纯粹”的姿态,向系统编程领域投下了一枚重磅炸弹,并开始正式招募社区贡献者。

自举成功:编译器的“终极考试”

对于一门编译型语言而言,实现“自托管”意味着其编译器和核心工具链全部由该语言自身编写并编译。这不仅是语言成熟度的试金石,更代表着项目摆脱了对其他语言生态的寄生。Mach创作者透露,团队在两天前刚刚达成这一目标。此前,Mach需要借助一个历史的引导编译器(仅需任何C编译器即可构建),而现在新版本已经完全“用Mach编写Mach”并生成了最终的二进制文件,引导阶段的残余已被彻底清除。这是对Mach编译器正确性和性能的综合验证,证明其已具备独立构建复杂系统的能力。

零依赖架构:从零开始的安全与控制

Mach最引人注目的特点在其TL;DR描述中被着重强调:整个管道中完全没有外部依赖,包括LLVM与libc。在主流系统语言中,Rust和Zig均借助LLVM进行代码优化与生成,C语言则深度绑定libc。而Mach选择了一条更加艰难的道路——实现自己的代码生成后端和精简运行时。这意味着开发者无需在宿主机上安装庞大的LLVM框架,也能直接生成原生机器码。没有了libc的间接调用,Mach能够直接操作系统内核接口,极大地减少了信任基和攻击面,同时为无操作系统环境的裸机编程提供了天然优势。这种“自给自足”的架构哲学,让Mach在构建操作系统内核、嵌入式固件和高安全场景中展现出巨大潜力。

为什么我们需要另一个系统语言?

当被问及该问题时,Mach社区指向的是对绝对简单性与可审计性的追求。现代LLVM体积已高达数百兆字节,供应链脆弱且编译缓慢;libc历史悠久但封装了成百上千个函数,其中许多已成为历史负担。Mach试图回归系统编程的本质:直接、透明且完全可控。虽然语言目前仍处于早期阶段,但其设计思路已经吸引了HN上的众多开发者——他们渴望拥有一个能将编译之“重”全部握在自己手中的工具。随着自托管版本的发布,Mach不再只是一个实验玩具,而是一个可用于探索下一代系统软件的坚实基座。

加入这场基础软件革命

目前,Mach已在GitHub(octalide/mach)和官方网站(machlang.org)上开源并开放贡献。创建者明确表示项目正在“寻找贡献者”,无论是语言设计、标准库实现、文档编写还是后端优化,早期参与将是一次深度影响底层软件未来的机会。如果您是对编译器前端、代码生成或操作系统开发充满热情的黑客,不妨访问项目仓库,用Mach本身去编译Mach,体验那份无需任何“外来之物”的极客浪漫。我们或许将见证一个全新生态的萌芽。