أوكام

تصغير

**أوكام**  يُعرف أوكام بلغة البرمجة متزامنة ومبنية على عملية التواصل المتسلسل ويعالج الجبر ويشاركه في كثير من مواصفاته، وسميت نسبة للعالم وليم الأوكامي.

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

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

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

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

## مصادر أخرى
*  https://web.archive.org/web/20070927235308/http://www.booksonline.iospress.com/Content/View.aspx?piid=5962
*  https://web.archive.org/web/20070927235321/http://www.booksonline.iospress.com/Content/View.aspx?piid=91
*  https://web.archive.org/web/20070927235351/http://www.booksonline.iospress.com/Content/View.aspx?piid=56
* 
* 
* Egorov, A., Technical University – Sofia, (1983-2011) **Записки по Компютърни архитектури**

## مراجع

## روابط خارجية
* Information, compilers, editors and utilities at the WoTUG occam pages
* Compilers, documentation, examples, projects and utilities at the Internet Parallel Computing Archive (no longer maintained)
* Occam books on Transputer.net
* The occam-pi language.
* Tock occam compiler – (translator from occam to C from Kent) a Haskell-based compiler for occam and related languages.

*
تصنيف:حواسيب
تصنيف:لغات برمجة أنشئت في 1983
تصنيف:لغات برمجة إجرائية
تصنيف:لغات برمجة متزامنة