حقائق رئيسية
- بدأ مشروع لغة البرمجة قبل عدة سنوات كتمرين شخصي لتعلم تنفيذ اللغات.
- تم إنشاء التنفيذ بنسبة 95% دون مساعدة الذكاء الاصطناعي، على الرغم من أن التحديثات الأخيرة تضمنت بعض الشفرات من Gemini CLI.
- يستخدم المشروع Rust للتنفيذ الأساسي، وCranelift للتجميع في الوقت الفعلي (JIT)، وLALRPOP للتحليل النحوي.
- بدأت اللغة باتباع مفاهيم من كتاب 'Crafting Interpreters' لكنها تطورت إلى نظام مميز بحد أدنى من الشفرات المشتركة.
- تم مشاركة المشروع على منصة أخبار Y Combinator حيث حصل على 6 نقاط من المجتمع.
- تركز فلسفة التصميم الأساسية على مفهوم أن كل شيء داخل اللغة هو قيمة.
ملخص سريع
شارك مطور مشروع لغة برمجة شخصية مصمم حول مفهوم أن كل شيء هو قيمة. يمثل التنفيذ استكشافًا متعدد السنوات لكيفية بناء وتشغيل لغات البرمجة.
ما بدأ كتمرين تعلم تطور إلى نظام فريد ذا بنية خاصة. يوضح المشروع كيف يمكن دمج أدوات حديثة مثل Rust وCranelift لإنشاء لغة عملية من الصفر.
أصل المشروع
ظهرت اللغة من رغبة في فهم تنفيذ لغات البرمجة على مستوى أساسي. بدأ المطور المشروع قبل عدة سنوات كتحدي شخصي للانتقال من المعرفة النظرية إلى البناء العملي.
في البداية، استمد العمل الإلهام من كتاب Crafting Interpreters، وهو مورد معترف به للغات المبدعين. ومع ذلك، تباعد التنفيذ تدريجيًا عن نقطة البداية تلك، وطور هويته وبنية خاصة.
تشمل الجوانب الرئيسية لتطوير المشروع:
- بدأ كمشروع تعلم هواية
- تطور بشكل مستقل من المراجع الأولية
- التركيز على البنية القائمة على القيمة
- جدول زمني للتطوير متعدد السنوات
"تم إنشاؤه بنسبة 95% بدون ذكاء اصطناعي، على الرغم من أن بعض التحديثات الأخيرة تضمنت شفرات من Gemini CLI."
— مطور المشروع
البنية الفنية
تم بناء اللغة على مكدس تقني حديث يستفيد من أدوات برمجة الأنظمة المعاصرة. يعمل Rust كأساس، ويوفر أمان الذاكرة وأداءً مناسبًا لتنفيذ لغة برمجة.
للتنفيذ، يستخدم المشروع Cranelift، وهي مكتبة توليد شفرات مصممة لـ التجميع في الوقت الفعلي (JIT). يسمح هذا للغة بتوليد شفرة الآلة ديناميكيًا أثناء التشغيل، مما يوازن بين المرونة والأداء.
يستخدم نظام التحليل النحوي LALRPOP، وهو مولد مُحلل نحوي يحول قواعد اللغة إلى شفرة تحليل نحوي فعالة. يخلق هذا المزيج أنبوبًا من الشفرة المصدرية إلى المخرجات القابلة للتنفيذ.
"تم إنشاؤه بنسبة 95% بدون ذكاء اصطناعي، على الرغم من أن بعض التحديثات الأخيرة تضمنت شفرات من Gemini CLI."
تعاون الذكاء الاصطناعي
يحافظ المشروع على نهج تطوير يركز على الإنسان، حيث تم كتابة الغالبية العظمى من الشفرات دون مساعدة الذكاء الاصطناعي. تعكس هذه الفلسفة التزامًا بفهم الآليات الأساسية لتصميم اللغة.
تضمنت التحديثات الأخيرة شفرة مساعدة بالذكاء الاصطناعي من Gemini CLI، مما يمثل تحولًا عمليًا نحو استخدام الأدوات المتاحة. يبدو أن التكامل انتقائي، ويركز على تحديثات محددة بدلاً من اعتماد الشفرة المولدة بالذكاء الاصطناعي بالكامل.
يوضح هذا النهج الهجين كيف يمكن للمطورين المحدثين موازنة طرق التعلم التقليدية مع أدوات الذكاء الاصطناعي المعاصرة. يبقى المشروع إبداعًا بشريًا بشكل أساسي بينما يستفيد بشكل انتقائي من مساعدة الذكاء الاصطناعي عند الحاجة.
مشاركة المجتمع
تم مشاركة المشروع على منصة أخبار Y Combinator، حيث حظي باهتمام مجتمع البرمجة. أنتجت المقالة 6 نقاط وفتحت قناة للمناقشة حول تصميم اللغة.
تساهم مشاركة مشاريع الهواية مثل هذه في المحادثة الأوسع حول نظرية وممارسة لغات البرمجة. توفر مثالاً ملموسًا لكيفية تنفيذ المفاهيم المجردة في تصميم اللغة عمليًا.
يساعد مشاركة المجتمع حول مثل هذه المشاريع على التحقق من خيارات التصميم ويمكن أن يلهم الآخرين لاستكشاف تنفيذ لغاتهم الخاصة. تقدم التفاصيل الفنية المشتركة خريطة طريق لرحلات تعلم مماثلة.
النظر إلى الأمام
يوضح مشروع الهواية هذا كيف يمكن لفضول شخصي دفع الابتكار التقني. من خلال بناء لغة من الصفر، اكتسب المطور رؤى عميقة في الآليات التي تشغل البرامج الحديثة.
تطور المشروع من تمرين تعلم إلى نظام عملي يظهر قيمة التجربة العملية في إتقان المجالات التقنية المعقدة. يخدم كإنجاز شخصي وكمورد محتمل للآخرين المهتمين بتصميم اللغة.
مع استمرار تطوير اللغة، قد تقدم وجهات نظر جديدة حول كيفية هيكلة وتنفيذ لغات البرمجة باستخدام الأدوات والتقنيات المعاصرة.
أسئلة متكررة
ما هو المفهوم الرئيسي وراء لغة البرمجة هذه؟
تم تصميم اللغة حول المبدأ أن كل شيء هو قيمة. يؤثر هذا الخيار المعماري على كيفية تعامل اللغة مع البيانات، والدوال، والهياكل البرمجية الأخرى.
ما هو مكدس التقنيات الذي يشغل تنفيذ هذه اللغة؟
تم بناء اللغة باستخدام Rust للتنفيذ الأساسي، وCranelift للتجميع في الوقت الفعلي (JIT)، وLALRPOP للتحليل النحوي. يجمع هذا المكدس الحديث بين أمان الذاكرة وتوليد الشفرة الفعال.
كيف يتعامل المشروع مع مساعدة الذكاء الاصطناعي؟
يحافظ المشروع على قاعدة شفرة مكتوبة بشكل أساسي من قبل الإنسان، حيث تم إنشاء حوالي 95% بدون ذكاء اصطناعي. تضمنت التحديثات الأخيرة شفرات مختارة من Gemini CLI، مما يمثل مزيجًا عمليًا من التطوير التقليدي والأدوات الحديثة.
ما الذي ألهم إنشاء هذه اللغة؟
بدأ المشروع كتمرين تعلم مستوحى من كتاب 'Crafting Interpreters' لكنه تطور إلى تنفيذ مميز. كان هدف المطور اكتساب خبرة عملية مع تصميم وتنفيذ لغات البرمجة.










