ميسا (Mesa)، هي لغة برمجة مستحدثة تطورت في نهاية السبعينات في بارك في بالو ألتو، كاليفورنيا الولايات المتحدة.[2] وقد تم تسمية هذه اللغة على اسم هضبة ميسا الموجودة بجنوب غرب أمريكا بحيث يشير ذلك إلى الغرض من تصميمها لتكون لغة برمجة عالية المستوى.
ميسا Mesa[1] | |
---|---|
التنميط | قويٌّ |
ظهرت في | السبعينيَّات والثمانينيّات من القرن العشرين |
التطوير | |
المطور | سيروكس بارك |
رقم اخر اصدار | Mesa 6.0 (Version 41) (يوليو 1981) (إصدارة مستقرة) |
التأثير | |
متأثرة بـ | ألغول |
أثرت في | جافا، مودولا-2، سيدار(Cedar) |
والميسا لغة شبيهة بلغة ألجول والتي تدعم بقوة البرمجة الوحدوية. كل وحدة مكتبية بها على الأقل ملفين كود مصدري : ملف تعريفات يحدد السطح البيني للمكتبة بالإضافة إلى واحد أو أكثر، وملفات البرنامج وهي التي تحدد تنفيذ الإجراءات على السطح البيني.[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]
المراجع
- James G. Mitchell; William Maybury; Richard Sweet. Mesa Language Manual. XEROX PARC Technical Report. نسخة محفوظة 15 أكتوبر 2008 على موقع واي باك مشين.
- James G. Mitchell. Mesa Language Manual. XEROX PARC Technical Report. مؤرشف من الأصل في 15 أكتوبر 2008. نسخة محفوظة 15 أكتوبر 2008 على موقع واي باك مشين.
- Mesa Language Manual, chapter 7. (The Manual uses the term module to mean a source file.)
- Charles Geschke (1977). "Early Experience with Mesa". Communications of the ACM. 20 (8): 540–552. doi:10.1145/359763.359771. مؤرشف من الأصل في 27 مايو 2020.
- Butler W. Lampson (1980). "Experience with Processes and Monitors in Mesa". Communications of the ACM. 23 (2): 105–117. doi:10.1145/358818.358824. مؤرشف من الأصل في 12 مارس 2020.
- Butler Lampson. A Description of the Cedar Language. Xerox PARC Technical Report. مؤرشف من الأصل في 21 أكتوبر 2008.
- D. Swinehart; et al. (1985). "The Structure of Cedar". SIGPLAN Notices. 20 (7): 230–244. doi:10.1145/800225.806844. مؤرشف من الأصل في 12 مارس 2020.
- Niklaus Wirth (2007). "Modula-2 and Oberon". Proc. 3rd Conf. History of Programming Languages: 3–1–3–10. doi:10.1145/1238844.1238847. .
- J. Gosling. Java Language Specification (الطبعة 2nd). مؤرشف من الأصل في 13 يناير 2012. نسخة محفوظة 13 يناير 2012 على موقع واي باك مشين.
وصلات خارجية
- World-Stop Debuggers, Don Gillies, Xerox SDD/ISD Employee, 1984-86.
- A Tour Through Cedar, Warren Teitelman. IEEE Software, Volume 1, Issue 2 (April 1984)