المحتوى هنا ينقصه الاستشهاد بمصادر، أي معلومات غير موثقة يمكن التشكيك بها وإزالتها.

ليمبو (لغة برمجة)

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
Question book-new.svg
المحتوى هنا ينقصه الاستشهاد بمصادر. يرجى إيراد مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2016)
ليمبو
Limbo
التصنيف مُتلاقية
التنميط قويَّة
ظهرت في 1995؛ منذ 22 سنوات (1995)
صممها سين دوروارد، فيل وينتربوتم، روب بايك
نظام التشغيل إنفرنو
الرخصة مفتوح المصدر
التطوير
المطور مختبرات بل / فيتا نوفا القابضة
التأثير
متأثرة بـ سي، باسكال، CSP، ألف، صرير جديد
أثرت في Stackless Python، غو، Rust
متفرقات
موقع ويب www.vitanuova.com/inferno/limbo.html

ليمبو (بالإنجليزية: Limbo)، هي لغة برمجة لكتابة النظم الموزعة وهي اللغة المستخدمة لكتابة برمجيات تطبيقية من أجل نظام التشغيل Inferno. وقد صممها في مختبرات بل [شون دروارد] و[فيل ينتربوتوم] وروب بايك.

ويولد مصرف (برمجة) Limbo [كود كائن] غير قائم على معمارية الحاسوب والذي بعد ذلك يتم تفسيره عن طريق آلة العرض الافتراضي أو تجميعه قبل وقت التشغيل من أجل تحسين الاداء. وبالتالي فكل تطبيقات لغة Limbo هي محمولة بشكل كامل عبر كل منصات Inferno.

وقد كان مدخل Limbo للتزامن من ايحاء [لغة Communicating Sequential Processes ] للعالم [هور].

مزايا اللغة[عدل]

تدعم لغة لمبو المزايا الآتية:

  • البرمجة التركيبية
  • [البرمجة المتزامنة]
  • [مراجعة نوع] قوية في التجميع ووقت التشغيل
  • [الاتصالات ما بين العمليات] على [قنوات] مكتوبة
  • جمع القمامة الآلي
  • [أنواع البيانات المجردة] البسيطة.

آلة افتراضيّة[عدل]

آلة ديس (بالإنجليزية: Dis) الافتراضيّة الّتي تنفّذ شفرة ليمبو هي آلة افتراضيّة تشبه مجموعة تعليمات حاسوبية مركبة، مع تعليمات للحِساب، وإنشاء تدفق السيطرة، حركة بيانات، عمليّات وَأيضًا المُزامنة والتواصل بين العمليّات، وتحميل مكتبات الشِفرة وَدعم أنواع البيانات ذات المُستوى العالي: سلاسل نصيَّة، مصفوفات، قوائم، وأيضًا قنوات التواصل.[1] تستَخدم إحصاء مراجع هجين وَجابي قُمامة بالوقت الحقيقيّ للبيانات الدوّارة.[2]

أمثلة[عدل]

تستخدم لغة لمبو تعريفات نمط أيدا (لغة برمجة) كما في:

 name := type value;
 name0,name1 : type = value;
 name2,name3 : type;
 name2 = value;

أهلا بالعالم[عدل]

 implement Command;

 include "sys.m";
     sys: Sys;

 include "draw.m";

 include "sh.m";

 init(nil: ref Draw->Context, nil: list of string)
 {
     sys = load Sys Sys->PATH;
     sys->print("Hello World!\n");
 }

كتب[عدل]

تم وصف الطبعة الثالثة من نظام تشغيلInferno ولغة برمجة لمبو في كتاب "Inferno Programming with Limbo" [الرقم الدولي للكتاب ISBN 0-470-84352-7] ( شيستر: John Wiley & Sons, 2003))، عن طريق [فيليب ستانلي ماربل]. و كتاب أخر هو "The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System" بقلم مارتن أتكينز، وتشارلز فورسيث وروب بايك وهوارد تريكي، الذي شُرع فيه ولكن لم يصدر مطلقًا.

انظر أيضا[عدل]

  • The

- The predecessor of Limbo.

  • غو - Similar language from Google

مراجع[عدل]

  1. ^ "Dis Virtual Machine Specification". Vita Nuova. 2000. اطلع عليه بتاريخ 2 February 2015. 
  2. ^ Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF). 

وصلات خارجية[عدل]