Ohne LLVM, ohne libc! Diese extrem puristische Systemsprache Mach ist vollständig selbstkompilierend und sucht Mitwirkende.
Kein LLVM, kein libc! Diese extrem puristische Systemsprache Mach erreicht vollständige Selbstkompilierung und sucht Mitwirkende
In der Welt der Programmiersprachen sind die Abhängigkeit von der LLVM-Toolchain und der C-Standardbibliothek für Systemsprachen fast schon zum „Standard“ geworden. Ein neues Open-Source-Projekt namens Mach bricht jedoch mit diesem Paradigma. Kürzlich gab der Ersteller auf Hacker News bekannt, dass der Mach-Compiler den Meilenstein der vollständigen Selbstkompilierung (Self-Hosting) erreicht hat – und die gesamte Toolchain kommt vom Quellcode bis zur ausführbaren Datei ohne jegliche externe Bibliotheken aus: kein LLVM, keine libc-Anbindungen, und selbst der historisch genutzte C-Compiler für das Bootstrapping wurde vollständig entfernt. Mach wirft in einer äußerst puristischen Haltung eine Bombe in den Bereich der Systemprogrammierung und beginnt nun offiziell, Mitwirkende aus der Community zu suchen.
Bootstrapping-Erfolg: Die „Abschlussprüfung“ für Compiler
Für eine kompilierte Sprache bedeutet „Self-Hosting“, dass ihr Compiler und die gesamte Kern-Toolchain vollständig in der Sprache selbst geschrieben und kompiliert werden. Dies ist nicht nur ein Prüfstein für die Reife der Sprache, sondern zeigt auch, dass sich das Projekt aus der Abhängigkeit von anderen Sprachökosystemen befreit hat. Der Mach-Ersteller gab bekannt, dass das Team dieses Ziel erst vor zwei Tagen erreicht hat. Zuvor benötigte Mach noch einen historischen Bootstrap-Compiler (jeder beliebige C-Compiler genügte), doch die neue Version wird nun vollständig „mit Mach in Mach geschrieben“ und erzeugt die endgültigen Binärdateien – die Überreste der Bootstrap-Phase wurden vollständig beseitigt. Dies ist eine umfassende Validierung der Korrektheit und Leistungsfähigkeit des Mach-Compilers und beweist, dass er in der Lage ist, komplexe Systeme eigenständig zu bauen.
Zero-Dependency-Architektur: Sicherheit und Kontrolle von Grund auf
Das auffälligste Merkmal von Mach wird in der TL;DR-Beschreibung hervorgehoben: Keinerlei externe Abhängigkeiten in der gesamten Pipeline, weder LLVM noch libc. Unter den gängigen Systemsprachen setzen Rust und Zig auf LLVM zur Codeoptimierung und -generierung, während C eng an die libc gebunden ist. Mach hingegen wählt einen deutlich schwierigeren Weg – eine eigene Codegenerierungs-Backend und eine schlanke Runtime. Das bedeutet, dass Entwickler keine umfangreiche LLVM-Framework-Installation auf dem Host benötigen, um nativen Maschinencode zu erzeugen. Ohne die indirekten Aufrufe der libc kann Mach direkt mit den Kernel-Schnittstellen des Betriebssystems kommunizieren, was die Vertrauensbasis und die Angriffsfläche erheblich verringert und gleichzeitig natürliche Vorteile für Bare-Metal-Programmierung ohne Betriebssystemumgebung bietet. Diese „autarke“ Architekturphilosophie verleiht Mach enormes Potenzial für den Bau von Betriebssystemkernen, eingebetteter Firmware und sicherheitskritischen Anwendungen.
Warum brauchen wir noch eine weitere Systemsprache?
Auf diese Frage angesprochen, verweist die Mach-Community auf das Streben nach absoluter Einfachheit und Prüfbarkeit. Modernes LLVM umfasst mittlerweile Hunderte von Megabyte, die Lieferkette ist fragil und die Kompilierung langsam; die libc hat eine lange Geschichte, kapselt jedoch Hunderte von Funktionen, von denen viele zu historischem Ballast geworden sind. Mach versucht, zum Wesen der Systemprogrammierung zurückzukehren: direkt, transparent und vollständig kontrollierbar. Obwohl sich die Sprache noch in einem frühen Stadium befindet, hat ihr Designentwurf bereits viele Entwickler auf HN angezogen – sie sehnen sich nach einem Werkzeug, bei dem sie die gesamte Komplexität der Kompilierung selbst in den Händen halten. Mit der Veröffentlichung der selbst-gehosteten Version ist Mach nicht länger ein experimentelles Spielzeug, sondern eine solide Basis, um die nächste Generation von Systemsoftware zu erforschen.
Schließe dich dieser Revolution der grundlegenden Software an
Mach ist nun auf GitHub (octalide/mach) und auf der offiziellen Website (machlang.org) als Open Source verfügbar und offen für Beiträge. Der Ersteller stellt ausdrücklich klar, dass das Projekt „Mitwirkende sucht“ – ob bei Sprachdesign, der Implementierung der Standardbibliothek, der Dokumentation oder der Backend-Optimierung: Eine frühe Beteiligung bietet die Gelegenheit, die Zukunft grundlegender Software maßgeblich mitzugestalten. Wenn du ein Hacker mit Leidenschaft für Compiler-Frontends, Codegenerierung oder Betriebssystementwicklung bist, solltest du das Projekt-Repository besuchen, Mach mit sich selbst kompilieren und die Nerd-Romantik erleben, die ganz ohne fremde Hilfsmittel auskommt. Wir könnten Zeuge des Keimens eines völlig neuen Ökosystems werden.