ميسا (لغة برمجة): الفرق بين النسختين

[مراجعة غير مفحوصة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
ط r2.6.4) (روبوت تعديل: en:Mesa (programming language)
CipherBot (نقاش | مساهمات)
روبوت: قوالب الصيانة؛ +{{يتيمة}}; تغييرات تجميلية
سطر 1:
{{يتيمة|تاريخ=مايو_2011}}
{{ infobox programming language
| name = Mesa
السطر 21 ⟵ 22:
 
 
الميسا هي [[لغة برمجة ]] [[ برمجة]] مستحدثة تطورت في نهاية السبعينات في [[ بارك ]] في [[بالو ألتو،_كاليفورنياألتو، كاليفورنيا]] [[الولايات المتحدة]].<ref name="manual">{{cite book | url = http://research.microsoft.com/lampson/23a-MesaManual/23a-MesaManualAbstract.html | title = Mesa Language Manual | author = James G. Mitchell | authorlink = James G. Mitchell | coauthors = William Maybury, [[Richard Sweet]] | publisher = XEROX PARC Technical Report | issue = CSL-79-3}}</ref> وقد تم تسمية هذه اللغة على اسم هضبة ميسا الموجودة بجنوب غرب أمريكا بحيث يشير ذلك إلى الغرض من تصميمها لتكون [[ لغة برمجة عالية المستوى]].
 
والميسا لغة شبيهة بلغة ألجول والتي تدعم بقوة البرمجة الوحدوية. كل وحدة مكتبية بها على الأقل ملفين [[كود مصدري]] : ملف تعريفات يحدد السطح البيني للمكتبة بالإضافة إلى واحد أو أكثر، وملفات البرنامج وهي التي تحدد تنفيذ الإجراءات على السطح البيني.<ref>Mesa Language Manual, chapter 7. (The Manual uses the term ''module'' to mean a source file.)</ref> ولاستخدام هذه المكتبة، يجب أن يقوم أحد البرامج أو مكتبة ذات مستوى اعلى ب"استيراد" التعريفات. متفقدات طباعة مصنف الميسا جميعها تستخدم الوحدات المستوردة ، هذا الجمع بين التصنيف المنفصل وتفقد الطباعة كان أمرا غير معتاد في هذا الوقت.
 
وقد قدمت لغة ميسا مستحدثات أخرى في تصميم اللغة والتطبيق، وخصوصا في التعامل مع استثناءات البرامج، و[[خيط (حاسوب)]] و [[ تزامن (حوسبة)]]و [[مصرف (برمجة)]] المتعلق بالنمو، وما إلى ذلك.
 
تم تطوير لغة الميسا على برنامج زيروكس ألتو، وهو أحد أول [[حاسوب شخصي ]] ذات [[واجهة مستخدم رسومية]]، ومع ذلك فإن معظم أنظمة الألتو كانت تكتب بلغة بي سي پي إل. وكانت الميسا لغة برمجة النظام في محطات عمل زيروكس ستار وفي بيئة سطح المكتب الجلوبال فيو. وطورت زيروكس پي إيه آر سي السيدار والذي كانت تعتمد على الميسا مع مجموعة من الإضافات من بينها " مجموعة القمامة، دعم أفضل للتسلسل، الروبز المزعومة ومصنف أصلي من محطات عمل سان سبارك.
 
وقد كان للغة الميسا تأثيرا هاما على تصميم اللغات الهامة الأخرى مثل موديولا-2 و[[جافا (لغة برمجة)]]، كما كانت أداة هامة في تطوير ونشر أساسيات [[واجهة مستخدم رسومية]] والبيئات الشبكية و عدة استحداثات أخرى [[زيروكس]] ساهمت في مجال [[علم الحاسوب]].
 
==التاريخ==
السطر 47 ⟵ 48:
كانت لغة الميسا لغة برمجة قوية الطباعة مزودة بفاحص طباعة عبر حدود الوحدة، ولكنها ذات مرونة كافية في نظام طباعتها بحيث أمكن كتابة الموزعين المتكدسين بلغة الميسا.<ref name="geschke">{{cite journal | doi = 10.1145/359763.359771 | author = Charles Geschke | authorlink = Charles Geschke | coauthors = [[James H. Morris]], [[Edwin H Satterthwaite]] | year = 1977 | url = http://portal.acm.org/citation.cfm?id=359771 | title = Early Experience with Mesa | journal = Communications of the ACM | work = [[Communications of the ACM|CACM]] | volume = 20 | issue = 8 | pages = 540–552 | month = August}}</ref>
ونظرا لتفرقتها بشكل صارم بين السطح البيني والتنفيذ، سمحت الميسا بالتصنيف المتنامي الحقيقي وشجعت على [[معمارية الحاسوب]]والمستقلة عن [[منصة حاسوب]]. كما أنها بسطت أيضا [[المصحح]]على مستوى المصدر بما في ذلك تصحيح الأخطاء عن بعد عبر [[ إيثرنت]].
 
وتتمتع لغة الميسا بتسهيلات ثرية تتعامل مع الاستثناءات بأربعة أنواع من الاستثناءات. وقد تم دعمها من أجل التزامن المتسلسل عبر شاشات الحاسوب. كما كانت الميسا أول لغة تطبق البث عبر الشاشات وهو مفهوم قدمه نظام تشغيل البايلوت.<ref name="monit">{{cite journal | doi = 10.1145/358818.358824 | url = http://portal.acm.org/citation.cfm?id=358824 | title = Experience with Processes and Monitors in Mesa | author = Butler W. Lampson | journal = Communications of the ACM | authorlink = Butler W. Lampson | coauthors = [[David D. Redell]] | work = Communications of the ACM | volume = 23 | issue = 2 | pages = 105–117 | month = February | year = 1980 | note = [http://research.microsoft.com/lampson/23-ProcessesInMesa/Abstract.html alternate link]}}</ref>
 
===علم تراكيب الجملة===
تتمتع الميسا [[علم النحو]]"أمرية" و "جبرية حسابية"، وهي في عدة نواحي تتشابه مع لغة ألجول و[[باسكال (لغة برمجة)]] أكثر من تشابهها مع [[سي (لغة برمجة)]]. على سبيل المثال، يتم الإشارة إلى الأوامر المركبة بمفاتيح BEGIN/ END بدلا من [[قوس (ترقيم)]]. في الميسا، يتم كتابة كافة الكلمات الرئيسية بأحرف كبيرة.<ref name="manual"/>
 
نظرا لدقة[[لوحة المفاتيح (حوسبة)]]في نظام الألتو، فإن مجموعة الأحرف الأصلية لميسا لا تتضمن خطا تحتيا، لذلك أجبر المبرمجون على استخدام أحرف الكامل Camel case في المحددات المركبة—وهي ممارسة تم إدراجها في أسلوب برمجة البارس المعياري. من الناحية الأخرى، اتبع مبرمجو الميسا مفتاح السهم الذي يشير لليسار '←' والذي حل محل الخط التحتي في لوحة مفاتيح نظام الألتو من أجل مشغل المهام.
 
وعندما رغب مصممي لغة الميسا في تطبيق عملية تسهيل استثنائية قاموا بتوظيف متخرج حديث من معهد ماساتشوستس من كولورادو والذي كان قد قام بكتابة أطروحته بتسهيلات استثنائية في كيفية التعامل مع اللغات اللوغاريتمية، وقد أدى ذلك إلى سهولة استثنائية أكثر ثراء في هذا الوقت، مع الأوامر الأولية: SIGNAL, ERROR, ABORT, RETRY, CATCH, CONTINUE. ونظرا لعدم تمتع اللغة بتدقيق آمن للطباعة للتحقق من التعامل اللائق مع الإشارات، فقد كانت الاستثناءات الغير قابلة للإدراك سببا شائعا للفيروسات في البرنامج الصادر.
 
==النسخ اللاحقة==
* كانت لغة الميسا هي أول مكتشف للغة البرمجة سيدار.<ref name="cedar1">{{cite book | url = http://research.microsoft.com/lampson/32a-CedarLang/32a-CedarLangAbstract.htm | title = A Description of the Cedar Language | author = Butler Lampson | authorlink = Butler Lampson | publisher = Xerox PARC Technical Report | issue = CSL-83-15}}</ref><ref name="cedar2">{{cite journal | doi = 10.1145/800225.806844 | url = http://portal.acm.org/citation.cfm?id=806844 | title = The Structure of Cedar | author = D. Swinehart et al. | work = [[SIGPLAN Notices]] | volume = 20 | issue = 7 | pages = 230–244 | month = July | year = 1985}}</ref> وكانت الإضافات الرئيسية على لغة سيدار هي [[جمع القمامة]]، الأنماط الديناميكية وهيكل محدود من معيارية الطباعة وتراكيب جمل خاصة لتحديد الأجزاء "ذات الطباعة الآمنة" من باقة البرامج متعددة الوحدات.
* استعانت [[وزارة دفاع الولايات المتحدة]] بشركة زيروكس لاستخدام لغة الميسا في لغة البرمجة الخاصة بها "أيرون مان" أو الرجل الحديدي، ولكن زيروكس رفضت بسبب الأهداف المتضاربة. كما أشار موظفي زيروكس بارس إلى أن لغة ميسا كانت ميزة مملوكة جعلت مهندسي برمجيات زيروكس أكثر إنتاجية في شركات أخرى. ولكن وزارة الدفاع في النهاية اختارت [[أيدا (لغة برمجة)]]وطورتها من بين اللغات التي كانت مرشحة لذلك.{{Citation needed|date=June 2007}}
* تطور سطح المكتب الرئيسي لستار إلى سطح المكتب الجديد فيوبوينت والذي أصبح في النهاية جلوبال فيو والذي تم إدخاله لعدة منصات يونكس مثل [[سولاريس]]و [[آي بي إم إيه آي إكس]]، تمت كتابة لغة الميسا على مصنف [[سي (لغة برمجة)]] وجمعت الشفرة الناتجة للمنصة الهدف. وقد كان ذلك حلا قابل للتطبيق ولكنه جعل من المستحيل تقريبا تطوير آلات يونكس نظرا لأن قوة مصنف الميسا وسلسلة الأدوات ذات الصلة فقت مع استخدام هذا التوجه. وقد لقيت محطة مل سبارس نجاحا تجاريا في عالم النشر، ولكن هذا التوجه نتج عنه قصر هذا المنتج على فرص أسواق ضيقة.
* عام 1976، وخلال السنة السبتية لزيروكس بارس، أصبح نيكلاوس ويرث معتادا على الميسا مما كان له اثرا رئيسيا في تصميم لغة موديولا -2 التي صممها بنفسه<ref>{{cite journal | doi = 10.1145/1238844.1238847 | url = http://portal.acm.org/citation.cfm?id=1238847 | title = Modula-2 and Oberon | author = Niklaus Wirth | pages = 3–1–3–10 | work = Proc. 3rd Conf. History of Programming Languages | address = San Diego | year = 2007}}.</ref>
* وتشير [[جافا (لغة برمجة)]] إلى لغة الميسا على أنها اللغة السالفة لها.<ref>{{cite book | url = http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#237601 | title = Java Language Specification | author = J. Gosling | authorlink = James Gosling | coauthors = [[Bill Joy]], [[Guy Steele]], G. Brachda | edition = 2nd}}</ref>
 
==أنظر أيضا==
* [[History of the graphical user interface]]
 
==المراجع==
السطر 72 ⟵ 73:
 
==وصلات خارجية==
* [http://www.ece.ubc.ca/~gillies/note1.html World-Stop Debuggers], Don Gillies, Xerox SDD/ISD Employee, 1984-86.
* [http://www.oberon2005.ru/paper/wt1984-01e.pdf A Tour Through Cedar], Warren Teitelman. ''IEEE Software'', Volume 1, Issue 2 (April 1984)
 
{{DEFAULTSORT:Mesa (Programming Language)}}
 
[[تصنيف:زيروكس]]
[[تصنيف:لغات برمجة إجرائية]]