Pas de LLVM, pas de libc ! Mach, un langage système d’une pureté extrême, atteint l’auto-compilation et cherche des contributeurs
Pas de LLVM, pas de libc ! Ce langage système extrêmement pur, Mach, atteint la compilation auto-hébergée et recherche des contributeurs
Dans le monde des langages de programmation, dépendre de la chaîne d’outils LLVM et de la bibliothèque standard C est presque devenu la norme pour les langages système. Pourtant, un tout nouveau projet open source nommé Mach est en train de briser ce paradigme. Récemment, son créateur a annoncé sur Hacker News que le compilateur Mach avait franchi une étape majeure en devenant entièrement auto-hébergé (self-hosting), et que toute la chaîne d’outils, du code source à l’exécutable, ne dépend d’aucune bibliothèque externe — pas de LLVM, pas de liaison avec la libc, et même le compilateur C utilisé pour l’amorçage historique a été définitivement éliminé. Mach jette un pavé dans la mare de la programmation système avec une posture « extrêmement pure » et commence officiellement à recruter des contributeurs communautaires.
Succès de l’auto-amorçage : « l’examen ultime » du compilateur
Pour un langage compilé, parvenir à l’auto-hébergement signifie que le compilateur et la chaîne d’outils cœur sont entièrement écrits et compilés dans ce même langage. C’est non seulement une pierre de touche de la maturité du langage, mais cela montre aussi que le projet s’émancipe du parasitisme envers l’écosystème d’autres langages. Le créateur de Mach révèle que l’équipe a atteint cet objectif il y a deux jours à peine. Auparavant, Mach avait besoin d’un compilateur d’amorçage historique (n’importe quel compilateur C suffisait pour la construction), mais désormais la nouvelle version est entièrement « écrite en Mach pour Mach » et génère le binaire final, les résidus de la phase d’amorçage ayant été totalement nettoyés. C’est une validation complète de la correction et des performances du compilateur Mach, prouvant qu’il possède la capacité de construire de manière autonome des systèmes complexes.
Architecture sans dépendance : sécurité et contrôle depuis zéro
La caractéristique la plus frappante de Mach est soulignée dans sa description TL;DR : aucune dépendance externe dans l’ensemble du pipeline, y compris LLVM et la libc. Parmi les langages système dominants, Rust et Zig utilisent LLVM pour l’optimisation et la génération de code, tandis que le C est profondément lié à la libc. Mach choisit une voie bien plus ardue — implémenter son propre backend de génération de code et un runtime minimaliste. Cela signifie que les développeurs n’ont pas besoin d’installer l’énorme infrastructure LLVM sur la machine hôte pour générer directement du code machine natif. Sans les appels indirects de la libc, Mach peut interagir directement avec les interfaces du noyau du système d’exploitation, réduisant considérablement la base de confiance et la surface d’attaque, tout en offrant un avantage naturel pour la programmation bare-metal dans des environnements sans système d’exploitation. Cette philosophie d’architecture « autosuffisante » donne à Mach un énorme potentiel pour la construction de noyaux de systèmes d’exploitation, de firmwares embarqués et pour les scénarios de haute sécurité.
Pourquoi aurions-nous besoin d’un autre langage système ?
Lorsque cette question est posée, la communauté Mach met en avant la quête de simplicité absolue et d’auditabilité. Les versions modernes de LLVM pèsent désormais plusieurs centaines de mégaoctets, la chaîne d’approvisionnement est fragile et la compilation est lente ; la libc a une longue histoire mais encapsule des centaines de fonctions, dont beaucoup sont devenues un fardeau historique. Mach tente de revenir à l’essence de la programmation système : directe, transparente et totalement contrôlable. Bien que le langage en soit encore à ses débuts, sa philosophie de conception a déjà séduit de nombreux développeurs sur HN — ils aspirent à un outil qui leur permette de tenir toute la « lourdeur » de la compilation entre leurs propres mains. Avec la sortie de la version auto-hébergée, Mach n’est plus un simple jouet expérimental, mais une base solide pour explorer la prochaine génération de logiciels système.
Rejoignez cette révolution du logiciel fondamental
À l’heure actuelle, Mach est open source et ouvert aux contributions sur GitHub (octalide/mach) et sur son site officiel (machlang.org). Le créateur indique clairement que le projet « recherche des contributeurs ». Qu’il s’agisse de conception du langage, d’implémentation de la bibliothèque standard, de rédaction de documentation ou d’optimisation du backend, une participation précoce est une occasion d’influencer en profondeur l’avenir des logiciels de bas niveau. Si vous êtes un hacker passionné par les frontaux de compilateur, la génération de code ou le développement de systèmes d’exploitation, n’hésitez pas à visiter le dépôt du projet, à compiler Mach avec Mach lui-même et à goûter à ce romantisme geek libéré de tout « corps étranger ». Nous assisterons peut-être à la naissance d’un tout nouvel écosystème.