ميسا (لغة برمجة)

ميسا (بالإنجليزية: Mesa)‏، هي لغة برمجة مستحدثة تطورت في نهاية السبعينات في بارك في بالو ألتو، كاليفورنيا الولايات المتحدة.[2] وقد تم تسمية هذه اللغة على اسم هضبة ميسا الموجودة بجنوب غرب أمريكا بحيث يشير ذلك إلى الغرض من تصميمها لتكون لغة برمجة عالية المستوى.

ميسا
Mesa[1]
معلومات عامة
التصنيف
التنميط
قويٌّ
ظهرت في
السبعينيَّات والثمانينيّات من القرن العشرين
التطوير
المطور
الإصدار الأول
1976 عدل القيمة على Wikidata
الإصدار الأخير
  • Mesa 6.0 (Version 41)
    (يوليو 1981) عدل القيمة على Wikidata
التأثير
متأثرة بـ
أثرت في

والميسا لغة شبيهة بلغة ألجول والتي تدعم بقوة البرمجة الوحدوية. كل وحدة مكتبية بها على الأقل ملفين كود مصدري: ملف تعريفات يحدد السطح البيني للمكتبة بالإضافة إلى واحد أو أكثر، وملفات البرنامج وهي التي تحدد تنفيذ الإجراءات على السطح البيني.[3] ولاستخدام هذه المكتبة، يجب أن يقوم أحد البرامج أو مكتبة ذات مستوى أعلى ب«استيراد» التعريفات. متفقدات طباعة مصنف الميسا جميعها تستخدم الوحدات المستوردة، هذا الجمع بين التصنيف المنفصل وتفقد الطباعة كان أمرا غير معتاد في هذا الوقت.

وقد قدمت لغة ميسا مستحدثات أخرى في تصميم اللغة والتطبيق، وخصوصا في التعامل مع استثناءات البرامج، وخيط (حاسوب) وتزامن (حوسبة)و مصرف (برمجة) المتعلق بالنمو، وما إلى ذلك.

تم تطوير لغة الميسا على برنامج زيروكس ألتو، وهو أحد أول حاسوب شخصي ذات واجهة مستخدم رسومية، ومع ذلك فإن معظم أنظمة الألتو كانت تكتب بلغة بي سي پي إل. وكانت الميسا لغة برمجة النظام في محطات عمل زيروكس ستار وفي بيئة سطح المكتب الجلوبال فيو. وطورت زيروكس پي إيه آر سي السيدار والذي كانت تعتمد على الميسا مع مجموعة من الإضافات من بينها " مجموعة القمامة، دعم أفضل للتسلسل، الروبز المزعومة ومصنف أصلي من محطات عمل سان سبارك.

وقد كان للغة الميسا تأثيرا هاما على تصميم اللغات الهامة الأخرى مثل موديولا-2 وجافا (لغة برمجة)، كما كانت أداة هامة في تطوير ونشر أساسيات واجهة مستخدم رسومية والبيئات الشبكية وعدة استحداثات أخرى زيروكس ساهمت في مجال علم الحاسوب.

التاريخ

عدل

صممت لغة الميسا في الأصل في معامل أنظمة الكمبيوتر (CSL)، وهي فرع من مركز ابحاث زيروكس بالو ألتو. بالنسبة لألتو، هي محطة عمل تجريبية مصغرة الشفرات، وقد كان استخدامها بشكل منتشر مقتصر على بارس PARC وقليل من الجامعات التي تبرعت زيروكس لها ببعض الألتو.

وقد تم اتباع لغة ميسا فيما بعد كلغة برمجة للنظام بمحطة العمل التجارية لزيروكس مثل زيروكس 8010 (زيروكس ستار، دانديليون) وزيروكس 6085 (داي بريك)، وخاصة من أجل نظام تشغيل بايلوت.

بيئة تطوير ثانوية أخرى تسمى بيئة تطوير زيروكس سمحت للمطورين بتصحيح أخطاء كل من نظام التشغيل البايلوت وأيضا تطبيقات فيوبوينت جي يو آيب استخدام آلية المقايضة. وقد سمح ذلك بانتشار «حالة» كاملة من المقايضة تتم في العالم ككل، وسمحت بتصادمات في النظام منخفض المستوى مما شل النظام بأكمله وجعله غير قابل للتصحيح. في الإصدارات اللاحقة لعالم ميسا، بايلوت انتقل بعيدا عن نظرة المقايضة العالمية حين تم تصنيف الآليات ذات التشفير الصغير لصالح محطات عمل سبارس وأصبح يقوم بالإلغاء التدريجي لصالح محطات عمل سبارس Sparc. ويقوم كمبيوتر إنتل الشخصي بتشغيل محاكي ميسا برينكوبس لمجموعة التعليمات الرئيسية حول استخدام الجهاز.

ويتم تعليم لغة الميسا عبر دورة تدريبية لبرمجة ميسا الذي عبر بالناس خلال سلسلة كبيرة من تكنولوجيا الزيروكس التي كانت متاحة في هذا الوقت وانتهى بكتابة أحد المبرمجين قرصان حاسوب وهو برنامج قابل للعمل مصمم ليكون مفيدا. من الأمثلة الفعلية على هذا البرنامج هي دبليو إس ماجنيفاير والذي كتب عام 1988 وسمح للأشخاص بتكبير بعض أقسام شاشة محطة العمل كما حددتها نافذة يمكن تعديل حجمها وعنصر تكبير قابل للتغيير. وقد كان مبرمجو ميسا المدربين يعلمون جيدا أساسيات GUI وتوصيل الشبكات والاستثناءات والبرمجة متعددة السلاسل، وقد أصبحت هذه قبل عقد تقريبا أدوات قياسية بهذه التجارة.

ومع زيروكس، تجاوزت لغة برمجة سيدار لغة الميسا في النهاية. وقد غادر العديد من مبرمجي ومطوري الميسا زيروكس عام 1985 حتى أن بعضهم ذهب إلى مركز أبحاث نظم DEC حيث استعانوا بتجربتهم مع الميسا في تصميم موديولا-2 وموديولا-3 لاحقا.

السمات الرئيسية

عدل

علم دلالات الألفاظ

عدل

كانت لغة الميسا لغة برمجة قوية الطباعة مزودة بفاحص طباعة عبر حدود الوحدة، ولكنها ذات مرونة كافية في نظام طباعتها بحيث أمكن كتابة الموزعين المتكدسين بلغة الميسا.[4]

ونظرا لتفرقتها بشكل صارم بين السطح البيني والتنفيذ، سمحت الميسا بالتصنيف المتنامي الحقيقي وشجعت على معمارية الحاسوبوالمستقلة عن منصة حاسوب. كما أنها بسطت أيضا المصححعلى مستوى المصدر بما في ذلك تصحيح الأخطاء عن بعد عبر إيثرنت.

وتتمتع لغة الميسا بتسهيلات ثرية تتعامل مع الاستثناءات بأربعة أنواع من الاستثناءات. وقد تم دعمها من أجل التزامن المتسلسل عبر شاشات الحاسوب. كما كانت الميسا أول لغة تطبق البث عبر الشاشات وهو مفهوم قدمه نظام تشغيل البايلوت.[5]

علم تراكيب الجملة

عدل

تتمتع الميسا علم النحو «أمرية» و«جبرية حسابية»، وهي في عدة نواحي تتشابه مع لغة ألجول وباسكال (لغة برمجة) أكثر من تشابهها مع سي (لغة برمجة). على سبيل المثال، يتم الإشارة إلى الأوامر المركبة بمفاتيح BEGIN/ END بدلا من قوس (ترقيم). في الميسا، يتم كتابة كافة الكلمات الرئيسية بأحرف كبيرة.[1]

نظرا لدقةلوحة المفاتيح (حوسبة)في نظام الألتو، فإن مجموعة الأحرف الأصلية لميسا لا تتضمن خطا تحتيا، لذلك أجبر المبرمجون على استخدام أحرف الكامل Camel case في المحددات المركبة—وهي ممارسة تم إدراجها في أسلوب برمجة البارس المعياري. من الناحية الأخرى، اتبع مبرمجو الميسا مفتاح السهم الذي يشير لليسار '←' والذي حل محل الخط التحتي في لوحة مفاتيح نظام الألتو من أجل مشغل المهام.

وعندما رغب مصممي لغة الميسا في تطبيق عملية تسهيل استثنائية قاموا بتوظيف متخرج حديث من معهد ماساتشوستس من كولورادو والذي كان قد قام بكتابة أطروحته بتسهيلات استثنائية في كيفية التعامل مع اللغات اللوغاريتمية، وقد أدى ذلك إلى سهولة استثنائية أكثر ثراء في هذا الوقت، مع الأوامر الأولية: SIGNAL, ERROR, ABORT, RETRY, CATCH, CONTINUE. ونظرا لعدم تمتع اللغة بتدقيق آمن للطباعة للتحقق من التعامل اللائق مع الإشارات، فقد كانت الاستثناءات الغير قابلة للإدراك سببا شائعا للفيروسات في البرنامج الصادر.

النسخ اللاحقة

عدل
  • كانت لغة الميسا هي أول مكتشف للغة البرمجة سيدار.[6][7] وكانت الإضافات الرئيسية على لغة سيدار هي جمع القمامة، الأنماط الديناميكية وهيكل محدود من معيارية الطباعة وتراكيب جمل خاصة لتحديد الأجزاء «ذات الطباعة الآمنة» من باقة البرامج متعددة الوحدات.
  • استعانت وزارة دفاع الولايات المتحدة بشركة زيروكس لاستخدام لغة الميسا في لغة البرمجة الخاصة بها «أيرون مان» أو الرجل الحديدي، ولكن زيروكس رفضت بسبب الأهداف المتضاربة. كما أشار موظفي زيروكس بارس إلى أن لغة ميسا كانت ميزة مملوكة جعلت مهندسي برمجيات زيروكس أكثر إنتاجية في شركات أخرى. ولكن وزارة الدفاع في النهاية اختارت أيدا (لغة برمجة)وطورتها من بين اللغات التي كانت مرشحة لذلك.
  • تطور سطح المكتب الرئيسي لستار إلى سطح المكتب الجديد فيوبوينت والذي أصبح في النهاية جلوبال فيو والذي تم إدخاله لعدة منصات يونكس مثل سولاريسو آي بي إم إيه آي إكس، تمت كتابة لغة الميسا على مصنف سي (لغة برمجة) وجمعت الشفرة الناتجة للمنصة الهدف. وقد كان ذلك حلا قابل للتطبيق ولكنه جعل من المستحيل تقريبا تطوير آلات يونكس نظرا لأن قوة مصنف الميسا وسلسلة الأدوات ذات الصلة فقت مع استخدام هذا التوجه. وقد لقيت محطة مل سبارس نجاحا تجاريا في عالم النشر، ولكن هذا التوجه نتج عنه قصر هذا المنتج على فرص أسواق ضيقة.
  • عام 1976، وخلال السنة السبتية لزيروكس بارس، أصبح نيكلاوس ويرث معتادا على الميسا مما كان له اثرا رئيسيا في تصميم لغة موديولا -2 التي صممها بنفسه[8]
  • وتشير جافا (لغة برمجة) إلى لغة الميسا على أنها اللغة السالفة لها.[9]

المراجع

عدل
  1. ^ ا ب James G. Mitchell؛ William Maybury؛ Richard Sweet. Mesa Language Manual. XEROX PARC Technical Report. مؤرشف من الأصل في 2008-10-15. اطلع عليه بتاريخ 2011-05-12.
  2. ^ James G. Mitchell. Mesa Language Manual. XEROX PARC Technical Report. مؤرشف من الأصل في 2008-10-15. {{استشهاد بكتاب}}: الوسيط author-name-list parameters تكرر أكثر من مرة (مساعدة)
  3. ^ Mesa Language Manual, chapter 7. (The Manual uses the term module to mean a source file.)
  4. ^ Charles Geschke (1977). "Early Experience with Mesa". Communications of the ACM. ج. 20 ع. 8: 540–552. DOI:10.1145/359763.359771. مؤرشف من الأصل في 2020-05-27. {{استشهاد بدورية محكمة}}: الوسيط |عمل= و|صحيفة= تكرر أكثر من مرة (مساعدةالوسيط author-name-list parameters تكرر أكثر من مرة (مساعدة)، والوسيط غير المعروف |شهر= تم تجاهله يقترح استخدام |تاريخ= (مساعدة)
  5. ^ Butler W. Lampson (1980). "Experience with Processes and Monitors in Mesa". Communications of the ACM. ج. 23 ع. 2: 105–117. DOI:10.1145/358818.358824. مؤرشف من الأصل في 2020-03-12. {{استشهاد بدورية محكمة}}: الوسيط |عمل= و|صحيفة= تكرر أكثر من مرة (مساعدةالوسيط author-name-list parameters تكرر أكثر من مرة (مساعدةالوسيط غير المعروف |note= تم تجاهله (مساعدة)، والوسيط غير المعروف |شهر= تم تجاهله يقترح استخدام |تاريخ= (مساعدة)
  6. ^ Butler Lampson. A Description of the Cedar Language. Xerox PARC Technical Report. مؤرشف من الأصل في 2008-10-21.
  7. ^ D. Swinehart؛ وآخرون (1985). "The Structure of Cedar". SIGPLAN Notices. ج. 20 ع. 7: 230–244. DOI:10.1145/800225.806844. مؤرشف من الأصل في 2020-03-12. {{استشهاد بدورية محكمة}}: Explicit use of et al. in: |مؤلف= (مساعدة) والوسيط غير المعروف |شهر= تم تجاهله يقترح استخدام |تاريخ= (مساعدة)
  8. ^ Niklaus Wirth (2007). "Modula-2 and Oberon". Proc. 3rd Conf. History of Programming Languages. San Diego: 3–1–3–10. DOI:10.1145/1238844.1238847. مؤرشف من الأصل في 2020-08-02..
  9. ^ J. Gosling. Java Language Specification (ط. 2nd). مؤرشف من الأصل في 2012-01-13. {{استشهاد بكتاب}}: الوسيط author-name-list parameters تكرر أكثر من مرة (مساعدة)

وصلات خارجية

عدل