بلا LLVM ولا libc! لغة Mach فائقة النقاء تحقق التجميع الذاتي الكامل وتبحث عن مساهمين
بدون 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 نفسها، لتعيش تلك الرومانسية التقنية بدون أي "أشياء غريبة". قد نشهد بزوغ فجر نظام بيئي جديد تمامًا.