لغة البرمجة MDL

لغة تطوير النماذج ( MDL ) [ 1 أو كما تُعرف أيضًا باسم " أنواع بيانات أكثر من لغة ليسب" [ 2 ] : 3 ، أو "لغة تصميم معهد ماساتشوستس للتكنولوجيا " [ 3] ، هي لغة برمجة ، مُشتقة من لغة ليسب . كان الغرض الأولي منها توفير دعم لغة برمجة عالية المستوى لمجموعة النمذجة الديناميكية في مشروع ماك التابع لمعهد ماساتشوستس للتكنولوجيا (MIT) . [ 3 ] طُوّرت في عام 1971 على جهاز PDP-10 يعمل بنظام ITS ، ثم شُغّلت لاحقًا على أنظمة TENEX و TOPS- 20 [ 4 ] [ 5 ] و BSD [ 2 ] : 6 و AEGIS [ 6 ] .

تألف فريق التطوير الأولي من جيرالد سوسمان وكارل هيويت من مختبر الذكاء الاصطناعي، وكريس ريف وبروس دانيلز وديفيد كريسي من مجموعة النمذجة الديناميكية. وفي وقت لاحق، قام ستو غالي، وهو أيضاً من مجموعة النمذجة الديناميكية، بكتابة وثائق MDL.

كان اسم MDL في البداية Muddle . [ 4 ] : ​​2 لم يكن هذا النمط من الفكاهة الساخرة من الذات مفهومًا أو مُقدَّرًا على نطاق واسع خارج مشروع MAC. لذلك تم تعديل الاسم إلى MDL.

تُقدّم لغة MDL العديد من التحسينات للغة Lisp الكلاسيكية. فهي تدعم أنواع بيانات مُدمجة متعددة، بما في ذلك القوائم والسلاسل النصية والمصفوفات، بالإضافة إلى أنواع البيانات المُعرّفة من قِبل المستخدم. كما تُتيح تقييم التعبيرات متعددة الخيوط والروتينات الفرعية . ويمكن للمتغيرات أن تحمل قيمة محلية ضمن نطاق مُحدد، وقيمة عامة، لتمرير البيانات بين النطاقات. وتدعم الدوال المُدمجة المُتقدمة تصحيح الأخطاء التفاعلي لبرامج MDL، والتطوير التدريجي ، وإعادة بناء البرامج المصدرية من البرامج الكائنية.

على الرغم من أن لغة MDL قديمة، فقد دُمجت بعض ميزاتها في إصدارات لاحقة من لغة Lisp. واصل جيرالد سوسمان تطوير لغة Scheme بالتعاون مع جاي ستيل ، الذي كتب لاحقًا مواصفات لغتي Common Lisp و Java . كان كارل هيويت قد نشر فكرة لغة Planner قبل بدء مشروع MDL، لكن تفكيره اللاحق بشأن Planner عكس الدروس المستفادة من بناء MDL. أثرت مفاهيم Planner على لغات مثل Prolog و Smalltalk . بدورها، أثرت Smalltalk و Simula على عمل هيويت اللاحق في نموذج الممثل .

لكن التأثير الأكبر الذي أحدثته لغة MDL كان على نوع برامج القصص التفاعلية . فقد كُتبت لعبة من هذا النوع تُدعى Zork ، وتُعرف أحيانًا باسم Dungeon، لأول مرة باستخدام MDL. [ 7 ] لاحقًا، أسس ريف ودانييلز وغالي وأعضاء آخرون من Dynamic Modeling شركة Infocom ، التي أنتجت العديد من الأعمال التجارية المبكرة للقصص التفاعلية.

في عام 1980 قام مارك بلانك وجويل بيريز بتكييف لغة MDL لإنشاء مجموعة فرعية تسمى ZIL ( لغة تنفيذ Zork ) والتي استخدمت على نطاق واسع من قبل شركة Infocom لإنشاء ألعابها الحائزة على جوائز.

نموذج التعليمات البرمجية

هذه عينة من PDP-10 MDL: [ 8 ] [ 9 ] [ 10 ]

<DEFINE EXIT-TO ( EXITS RMS ) # DECL (( EXITS ) EXIT ( RMS ) <UVECTOR [ REST ROOM ] > ) <MAPF <> <FUNCTION ( E ) # DECL (( E ) <OR DIRECTION ROOM CEXIT NEXIT DOOR> ) <COND ( <TYPE? .E DIRECTION> ) ( <AND <TYPE? .E ROOM> <MEMQ .E .RMS>> <MAPLEAVE T> ) ( <AND <TYPE? .E CEXIT> <MEMQ <2 .E> .RMS>> <MAPLEAVE T> ) ( <AND <TYPE? .E DOOR> <OR <MEMQ <DROOM1 .E> .RMS> <MEMQ <DROOM2 .E> .RMS>>> <MAPLEAVE T> ) >> .EXITS>>

انظر أيضاً

مراجع

  1. سوبنيك، بوب (25 أكتوبر 2006). "مقابلة بوب سوبنيك مع برنامج GET LAMP" (مقابلة). أجراها جيسون سكوت. 15:00.
  2. 1 2 ليكليدر، جيه سي آر (يناير 1988). البرمجة الرسومية والمراقبة RADC-TR-88-7 (تقرير بصيغة PDF ). مركز روما لتطوير الطيران. مؤرشف (PDF) من الأصل في 3 مايو 2019. تم الاطلاع عليه بتاريخ 18 مايو 2019 .
  3. دورنبروك، مايكل؛ بلانك، مارك (1980). دليل برمجة MDL MIT-LCS-TR-292 (ملف PDF) . معهد ماساتشوستس للتكنولوجيا، مختبر علوم الحاسوب . تاريخ الاسترجاع: 18 مايو 2019 .
  4. 1 2 جالي، ستو دبليو؛ بفايستر، جريج (1979). لغة برمجة MDL (ملف PDF) . معهد ماساتشوستس للتكنولوجيا، مختبر علوم الحاسوب . تم الاطلاع عليه بتاريخ 18-12-2018 .( نص مكتوب بلغة Markdown/HTML )
  5. ليبلينغ، ب. ديفيد (مايو 1980). بيئة برمجة MDL (ملف PDF) . معهد ماساتشوستس للتكنولوجيا، مختبر علوم الحاسوب . تاريخ الاسترجاع: 18 ديسمبر 2018 .
  6. ليم، بوه تشوان (1982). مدير رسومات مستقل عن الجهاز لـ MDL (ملف PDF) (تقرير). معهد ماساتشوستس للتكنولوجيا. ص 69. تاريخ الاسترجاع: 18 مايو 2019 . 
  7. داير، ريتشارد (6 مايو 1984). "أساتذة اللعبة" . صحيفة بوسطن غلوب . مؤرشف من الأصل في 7 يونيو 1997.
  8. "Zork-mdl.zip" .
  9. سوبنيك، بوب (2018-06-04). "مجموعات البرامج" . محاكاة الحاسوب والتاريخ (SimH) . Bitsavers.org . تم الاسترجاع في 2018-12-18 .
  10. سوبنيك، بوب (2007-09-02). "مجموعات البرامج" . محاكاة الحاسوب والتاريخ (SimH) . منتدى PDP-11 . تم الاسترجاع في 2018-12-18 .