أوكام

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
1983 1988 Trademark occam and occam 2 INMOS Limited.jpg
أوكام
معلومات عامة
التصنيف
لغة برمجة — لغة برمجة إجرائية عدل القيمة على Wikidata
التنميط
ظهرت في
صممها
التطوير
المطور
Inmos (en) ترجم عدل القيمة على Wikidata
الإصدار الأول
1983; منذ 38 سنوات (1983)
الإصدار الأخير
2.1 (official), 2.5 (unofficial), 3 (not fully implemented)
التأثير
متأثرة بـ
communicating sequential processes (en) ترجم عدل القيمة على Wikidata

أوكام (بالإنجليزية: occam)‏ يُعرف أوكام بلغة البرمجة متزامنة ومبنية على عملية التواصل المتسلسل ويعالج الجبر ويشاركه في كثير من مواصفاته، وسميت نسبة للعالم وليم الأوكامي.[1]

نبذة[عدل]

تُعد أوكام برمجة أمرية وإجرائية مثل باسكال ولقد طورها دافيد ماي والباقون في شركة إينموس (INMOS) أخذا بإشارة من توني هور، تبين الأمثلة الآتية أن كلا من إضافة المسافة البادئة والتنسيق بالغ في الأهمية في بيان ومعالجة الرمز الذي يشير إلى أن بلوغ نهاية السطر هو سبب في تفريق بين الجمل، وحقيقة ينبغي أن يكون قائمة التعبيرات والجمل على نمط واحد عند إضافة المسافة البادئة، ويسمى هذه المواصفات بحكم التسلل ويعمل أيضا بهذه المواصفات في لغات أخرى مثل هاسكل وبايتون، ويكون التواصل بين إجراءات العمل عن طريق ما يسمى بالقنوات، وأحدها يعالج نتائج البيانات إلى القنوات عبر ( ! ) وغيره يعالج البيانات المدخولة ب(? ) ولا يمكن استمرار معالجة البيانات المدخولة ونتائج البيانات إلا إذا وجد إقبال من العملية الأخرى وجاهزة لقبول أو تقديم البيانات (وفي حالة عدم استمرار المعالجة غالبا تكون المشكلة في القنوات، ولكن في هذه الحالة يستدير البرنامج ولا ينظر غالبا حل المشكلة، فهنالك تظهر مصطلحات مثل " انتظر " " معلق" " أنتج " وهذه المصطلحات تعبر عن حالة البرمجة وجدير بالذكر هنا أن هذه الإشكاليات لا تمنع معالجة بعض العملية التي لا علاقة لها بهذه القنوات مثل ( س. عنصر متغير) لغة برمجة وتنقيحها.[2]

أوكام 1[عدل]

أوكام 1 (الذي أصدر عام 1983) الإصدار التمهيدي للغة برمجة وهو مستعار من عمل دافيد ماي على EPL ومن عمل توني هور على CSP، ويعمل أوكام 1 خاصة في نوع بيانات VAR، وهو يعد نوعا متكاملا الذي يناسب ويوافق الطول الأصلي للكلمة في الطراز المعماري المستهدف وكذلك ترتيب الصفوف ذات أبعاد واحدة.[3]

أوكام 2[عدل]

أوكام 2 امتدادا لأوكام 1 أنتجته شركة إينمس عام 1987 الذي أضاف للسابق قوة حسابات الفاصلة المتحركة، واختصاصات وصفوف ذات متعدد الأبعاد وبعض أنواع من البيانات متغير الأشكال أو الحجم ( INT16, INT32 ) وبت، وبسبب إعادة التنقيح، تطور أوكام2 حتى صار أقوى لغة برمجة ذات قدرة عالية في التعبير عن البرامج المفيدة في سوق البرمجة غير أن أوكام 1 أكثر مناسبة في معالجة الخوارزمي وكذلك في اكتشاف لغة برمجة جديدة (ولكن مترجم برنامج أوكام 1 مكتوب في أوكام فهذا يشعر أن هنا مستندًا يدل على أن البرامج المفيدة ذات حجم مناسب غالبا يكتب بلغة أوكام 1 مع أن اختصاصاته محدودة.[4]

أوكام 2.1[عدل]

يُعد أوكام 2.1 آخر وأحدث إصدارات أوكام في مجال تطوير لغة برمجة التي تساهم بها شركة إينموس، وتم تحديدها وإنشاءها عام 1994، ولقد آثر في سرعة استخراجها اقتراح سابق على استخراج لغة برمجة أوكام 3 (ويسمى كذلك باسم أوكام 91 في بداية تطويرها) أنشأها واستخرجها مهندس جيأوف باريت في شركة أينموس أوائل عام 1990، ونشر دليل البرمجة المنقحة للناس ليجدوا تعليقاتهم وملحوظاتهم غير أن لغة برمجة لهذا الإصدار أوكام 2.1 غير مطبق كاملا في مترجم أوكام 2.1.[5]

مصادر أخرى[عدل]

  • Communicating Process Architectures 2007 – WoTUG-30. IOS Press. 2007. صفحات 513 pages. ISBN 978-1-58603-767-3. الوسيط |CitationClass= تم تجاهله (مساعدة) [1]
  • Communicating Process Architectures 2006 – WoTUG-29. IOS Press. 2006. صفحات 391 pages. ISBN 978-1-58603-671-3. الوسيط |CitationClass= تم تجاهله (مساعدة) [2]
  • Communicating Process Architectures 2005 – WoTUG-28. IOS Press. 2005. صفحات 405 pages. ISBN 978-1-58603-561-7. الوسيط |CitationClass= تم تجاهله (مساعدة) [3]
  • Kerridge, Jon, المحرر (1993). Transputer and Occam Research: New Directions. IOS Press. صفحات 253 pages. ISBN 0-8247-0711-7. الوسيط |CitationClass= تم تجاهله (مساعدة)
  • Roscoe, Andrew William; Hoare, Charles Antony Richard (1986). The Laws of Occam Programming. Programming Research Group, Oxford University. الوسيط |CitationClass= تم تجاهله (مساعدة)
  • Egorov, A., Technical University – Sofia, (1983-2011) Записки по Компютърни архитектури

مراجع[عدل]

  1. ^ occam 2.1 Reference Manual (PDF). SGS-Thomson Microelectronics Ltd. 1995-05-12. Inmos document 72 occ 45 03
  2. ^ occam Programming Manual. Prentice-Hall. 1984. ISBN 0-13-629296-8.
  3. ^ Ericsson-Zenith, Steven (1988). occam 2 Reference Manual. Prentice-Hall. ISBN 0-13-629312-3.
  4. ^ Cook, Barry M; Peel, RMA (1999-04-11). "Occam on Field-Programmable Gate Arrays". In Cook, Barry M. (ed.). Architectures, Languages and Techniques for Concurrent Systems. 22nd World Occam and Transputer User Group Technical Meeting. Keele, United Kingdom: IOS Press. p. 219. ISBN 90-5199-480-X. Retrieved 2016-11-28.
  5. ^ Barrett, Geoff; Ericsson-Zenith, Steven (1992-03-31). "occam 3 Reference Manual" (PDF). Inmos. Retrieved 2008-03-24.

روابط خارجية[عدل]