LLVMもlibcもなし!究極の純粋なシステム言語Machが完全セルフコンパイルを実現、現在コントリビューターを募集中
LLVMなし、libcなし!この極限まで純粋なシステム言語Machが完全セルフホスティングを達成、貢献者を募集中
プログラミング言語の世界において、LLVMツールチェーンとC標準ライブラリへの依存は、システムレベル言語の「標準装備」とも言えるものとなっている。しかし、Machという名のまったく新しいオープンソースプロジェクトが、そのパラダイムを打ち破ろうとしている。先日、その開発者がHacker News上で、Machコンパイラが画期的な完全セルフホスティング(Self-Hosting)を達成し、ツールチェーン全体がソースコードから実行可能ファイルに至るまで、いかなる外部ライブラリにも依存しないことを発表した——LLVMもなく、libcバインディングもなく、ブートストラップ用のCコンパイラさえも完全に排除されたのだ。Machは「極限までの純粋さ」という姿勢で、システムプログラミングの領域に衝撃を与えるとともに、コミュニティからの貢献者を正式に募集し始めている。
セルフホスティング成功:コンパイラの「最終試験」
コンパイル型言語にとって「セルフホスティング」の実現とは、そのコンパイラと中核的なツールチェーンのすべてが、その言語自身によって記述・コンパイルされることを意味する。これは言語の成熟度を示す試金石であるだけでなく、プロジェクトが他言語のエコシステムへの寄生から脱却したことを示している。Machの開発者によれば、チームはわずか2日前にこの目標を達成したという。それ以前は、ブートストラップ用コンパイラ(任意のCコンパイラさえあればビルド可能)に依存していたが、現在の新バージョンは完全に「MachでMachを記述」し、最終的なバイナリを生成しており、ブートストラップ段階の痕跡は完全に一掃された。これはMachコンパイラの正当性と性能を総合的に検証するものであり、複雑なシステムを独立して構築する能力を備えたことの証明でもある。
ゼロ依存アーキテクチャ:ゼロから始めるセキュリティと制御
Machの最も注目すべき特徴は、そのTL;DRの説明で強調されている:パイプライン全体に外部依存が一切存在しないこと、それにはLLVMもlibcも含まれる。主流のシステム言語において、RustやZigはLLVMをコード最適化と生成に利用しており、C言語はlibcに深く結びついている。一方、Machはより困難な道を選んだ——独自のコード生成バックエンドと簡素化されたランタイムを実装することである。これは、開発者がホストマシンに巨大なLLVMフレームワークをインストールしなくても、ネイティブマシンコードを直接生成できることを意味する。libcを介した間接呼び出しがないため、MachはOSカーネルインターフェースを直接操作でき、トラステッドコンピューティングベースと攻撃対象領域を大幅に削減すると同時に、OSのない環境でのベアメタルプログラミングに天然の優位性をもたらす。この「自己完結型」のアーキテクチャ哲学により、MachはOSカーネル、組み込みファームウェア、高セキュリティシナリオの構築において大きな可能性を示している。
なぜまた別のシステム言語が必要なのか?
この問いに対し、Machコミュニティが指し示すのは、絶対的なシンプルさと監査可能性への追求である。現代のLLVMはそのサイズが数百メガバイトに達し、サプライチェーンは脆弱でコンパイルも遅い。libcは長い歴史を持つが、何百もの関数を内包し、その多くは歴史的な負債と化している。Machはシステムプログラミングの本質——直接的で、透過的で、完全に制御可能であること——への回帰を目指している。言語は依然として初期段階にあるものの、その設計思想はすでにHN上の多くの開発者を惹きつけている——彼らはコンパイルの「重み」を自らの手中に完全に収められるツールを渇望しているのだ。セルフホスティング版のリリースにより、Machはもはや単なる実験段階の玩具ではなく、次世代システムソフトウェアを探求するための堅固な基盤として利用できるものとなった。
この基盤ソフトウェア革命に参加しよう
現在、MachはGitHub(octalide/mach)および公式サイト(machlang.org)にてオープンソース化され、貢献を受け付けている。開発者はプロジェクトが「貢献者を探している」ことを明確に示しており、言語設計、標準ライブラリの実装、ドキュメント作成、バックエンド最適化のいずれであっても、初期段階での参加は、基盤ソフトウェアの未来に深く影響を与える機会となるだろう。もしあなたがコンパイラフロントエンド、コード生成、あるいはOS開発に情熱を抱くハッカーなら、ぜひプロジェクトのリポジトリを訪れ、Mach自身でMachをコンパイルし、「外部からの借り物」を一切必要としないギークのロマンを体感してほしい。私たちはおそらく、まったく新しいエコシステムの萌芽を目撃することになるだろう。