ليمبو (لغة برمجة)
ليمبو هي لغة برمجة لكتابة الأنظمة الموزعة، وهي اللغة المستخدمة لكتابة التطبيقات لنظام التشغيل إنفيرنو . وقد صُممت في مختبرات بيل بواسطة شون دوروارد ، وفيل وينتربوتوم ، وروب بايك . [ 1 ]
يقوم مُصرّف Limbo بإنشاء كود كائن مستقل عن بنية النظام، والذي يتم تفسيره بواسطة الآلة الافتراضية Dis أو تجميعه قبل وقت التشغيل مباشرةً لتحسين الأداء. لذلك، فإن جميع تطبيقات Limbo قابلة للنقل بشكل كامل عبر جميع منصات Inferno.
استلهم نهج ليمبو في التزامن من عمليات هوار المتسلسلة المتصلة (CSP)، كما تم تنفيذه وتعديله في لغة بايك السابقة Newsqueak ولغة وينتربوتوم Alef .
خصائص اللغة
يدعم برنامج Limbo الميزات التالية:
- البرمجة المعيارية
- الحوسبة المتزامنة
- التحقق القوي من النوع في وقت الترجمة ووقت التشغيل
- التواصل بين العمليات عبر قنوات مكتوبة
- خدمة جمع القمامة الآلية
- أنواع البيانات المجردة البسيطة
آلة افتراضية
الآلة الافتراضية Dis التي تُنفّذ شيفرة Limbo هي آلة افتراضية شبيهة بـ CISC، تتضمن تعليماتٍ للحساب، والتحكم في تدفق البيانات ، ونقل البيانات ، وإنشاء العمليات ، والمزامنة والتواصل بين العمليات، وتحميل وحدات الشيفرة، ودعم أنواع البيانات عالية المستوى: السلاسل النصية، والمصفوفات، والقوائم، وقنوات الاتصال. [ 2 ] وهي تستخدم مزيجًا من عدّ المراجع وجامع قمامة في الوقت الحقيقي للبيانات الدورية. [ 3 ]
استُلهمت جوانب من تصميم جهاز Dis من المعالج الدقيق AT&T Hobbit ، كما هو مستخدم في جهاز BeBox الأصلي .
أمثلة
يستخدم نظام Limbo تعريفات على نمط لغة Ada كما يلي:
الاسم := النوع القيمة ؛ الاسم0 ، الاسم1 : النوع = القيمة ؛ الاسم2 ، الاسم3 : النوع ؛ الاسم2 = القيمة ؛مرحبا بالعالم
تنفيذ الأمر ؛تضمين "sys.m" ؛ sys : Sys ؛تضمين "draw.m" ؛تضمين "sh.m" ؛init ( nil : ref Draw -> Context , nil : list of string ) { sys = load Sys Sys -> PATH ; sys -> print ( "Hello World! \n " ); }الكتب
يُشرح الإصدار الثالث من نظام التشغيل Inferno ولغة البرمجة Limbo في كتاب Inferno Programming with Limbo ISBN 0-470-84352-7(تشيتشستر: جون وايلي وأولاده، 2003)، بقلم فيليب ستانلي ماربل . كتاب مدرسي آخر بعنوان "كتاب برمجة إنفيرنو: مقدمة في البرمجة لنظام إنفيرنو الموزع" ، من تأليف مارتن أتكينز، وتشارلز فورسيث، وروب بايك ، وهوارد تريكي، بدأ العمل عليه، لكنه لم يُنشر قط.
انظر أيضاً
- نظام التشغيل إنفيرنو
- ألف ، سلف ليمبو
- نظام التشغيل Plan 9 من مختبرات بيل
- Go ، لغة مشابهة من جوجل
- AT&T Hobbit ، وهي بنية معالج ألهمت Dis VM
مراجع
- ↑ "برمجة تطبيقات إنفيرنو" . فيتانوفا . فيتانوفا. مؤرشف من الأصل في 7 فبراير 2025. تم الاطلاع عليه في 26 يناير 2021 .
- ↑ "مواصفات الآلة الافتراضية Dis" . فيتا نوفا. 2000. مؤرشف من الأصل في 20 فبراير 2025. تم الاطلاع عليه في 2 فبراير 2015 .
- ↑ لورنز هولسبيرجن وفيل وينتربوتوم (1998). "جمع البيانات المهملة المتزامن للغاية بتقنية الوسم والمسح بدون تزامن دقيق" (ملف PDF) . الندوة الدولية لإدارة الذاكرة لعام 1998 .
روابط خارجية
- صفحة فيتا نوفا على موقع ليمبو
- رحلة إلى المجهول بقلم برايان كيرنيغان
- لغة البرمجة ليمبو من تأليف دينيس إم. ريتشي وملحق من تأليف فيتا نوفا.
- برمجة إنفيرنو باستخدام ليمبو بقلم فيليب ستانلي ماربل
- البرمجة المترابطة على نمط CSP في مختبرات بيل
- شفرة المصدر هذه ، مؤرشفة من الأصل بتاريخ 21-09-2017 ، تم استرجاعها بتاريخ 20-09-2017
- تصميم الآلة الافتراضية Inferno ، Vita nuova، مؤرشف من الأصل بتاريخ 11 فبراير 2025 ، تم استرجاعه بتاريخ 28 أبريل 2025.
- "تصميم الآلات الافتراضية"، إنفيرنو ( الطبعة الرابعة)، الفئة الخامسة.
- "مواصفات الجهاز الظاهري Dis"، إنفيرنو ( الطبعة الرابعة)، الفئة الخامسة.
- لغات البرمجة المتزامنة
- مترجمات مجانية ومفتوحة المصدر
- إنفيرنو (نظام التشغيل)
- لغات البرمجة التي تم إنشاؤها عام 1995
- الآلات الافتراضية
