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

لغة بيتا هي لغة برمجة كائنية التوجه خالصة، نشأت ضمن "المدرسة الإسكندنافية" في البرمجة الكائنية، حيث طُوّرت أول لغة كائنية التوجه، سيمولا . [ 1 ] ومن أبرز سماتها، أنها أدخلت مفهوم الفئات المتداخلة ، ووحدت الفئات مع الإجراءات في ما يُعرف بالأنماط.

لقد كان قيد التطوير منذ عام 1976، مع تطبيقات معروفة منذ عام 1986، من قبل كريستين نيجارد مع بنت برون كريستنسن، وأولي ليرمان مادسن، وبيرجر مولر بيدرسن ، في جامعة أوسلو .

المشروع غير نشط اعتبارًا من أكتوبر 2020. [ 2 ]

سمات

نظرة عامة فنية

من الناحية التقنية، توفر BETA العديد من الميزات الفريدة. يتم توحيد الفئات والإجراءات ضمن مفهوم واحد، وهو النمط . كما تُعرَّف الفئات على أنها خصائص/سمات للكائنات. هذا يعني أنه لا يمكن إنشاء مثيل لفئة دون سياق كائن صريح. ونتيجة لذلك، تدعم BETA الفئات المتداخلة . يمكن تعريف الفئات افتراضيًا، تمامًا كما هو الحال مع الطرق الافتراضية في معظم لغات البرمجة كائنية التوجه. لا يتم استبدال الكيانات الافتراضية (مثل الطرق والفئات) أبدًا؛ بل يُعاد تعريفها أو تخصيصها.

تدعم لغة بيتا (BETA) منظور البرمجة الكائنية، وتوفر إمكانيات شاملة للبرمجة الإجرائية والوظيفية. كما تتميز بآليات تجريد قوية لدعم تحديد الكائنات وتصنيفها وتركيبها. بيتا لغة ذات كتابة ثابتة، مثل سيمولا وإيفل وسي ++ ، حيث يتم التحقق من معظم أنواع البيانات أثناء الترجمة. [ 1 ] تهدف بيتا إلى تحقيق توازن مثالي بين التحقق من أنواع البيانات أثناء الترجمة والتحقق منها أثناء التشغيل.

أنماط

من أبرز سمات هذه اللغة مفهوم الأنماط. ففي لغات برمجة أخرى، مثل C++ ، نجد العديد من الأصناف والإجراءات. أما لغة BETA فتُعبّر عن هذين المفهومين باستخدام الأنماط.

على سبيل المثال، سيكون للفئة البسيطة في لغة C++ الشكل التالي:

class point { int x , y ; };

في الإصدار التجريبي، يمكن تمثيل نفس الفئة بالنمط

نقطة : ( س ، ص : عدد صحيح )

أي أن الصنف المسمى "point" سيحتوي على حقلين، x و y ، من نوع عدد صحيح . تُستخدم الرموز (# و #) لتعريف الأنماط. وتُستخدم النقطتان الرأسيتان لتعريف الأنماط والمتغيرات. أما علامة @ قبل نوع العدد الصحيح في تعريفات الحقول فتشير إلى أن هذه الحقول أعداد صحيحة، وليست، على النقيض، مراجع أو مصفوفات أو أنماط أخرى.

للمقارنة، يمكن أن يكون للإجراء في لغة C++ الشكل التالي:

int max ( int x , int y ) { if ( x >= y ) { return x ; } else { return y ; } }

في الإصدار التجريبي (BETA)، يمكن كتابة مثل هذه الدالة باستخدام نمط معين.

max : ( # x , y , z : @ integer enter ( x , y ) do ( if x >= y // True then x -> z else y -> z if ) exit z # )

المتغيرات x و y و z هي متغيرات محلية. تحدد الكلمة المفتاحية enter معلمات الإدخال للنمط، بينما تحدد الكلمة المفتاحية exit نتيجة الدالة. بينهما، تُسبق الكلمة المفتاحية do تسلسل العمليات المطلوب تنفيذها. يُحدد الشرط باستخدام (if و if) ، أي أن الكلمة المفتاحية if تُصبح جزءًا من القوسين المفتوح والمغلق. يتم التحقق من صحة الشرط باستخدام // True داخل كتلة if. أخيرًا، يُسند عامل الإسناد - > القيمة الموجودة على يساره إلى المتغير الموجود على يمينه.

مرحبا بالعالم!

تقوم هذه الشفرة البرمجية بطباعة السطر القياسي "Hello world!" :

(# نفّذ الأمر التالي: 'Hello betas!'->PutLine ج) 

للمزيد من القراءة

  • أولي ليرمان مادسن، بيرجر مولر بيدرسن، كريستين نيجارد: البرمجة الشيئية في لغة البرمجة BETA، نظام Mjølner: الكتب
  • بنت برون كريستنسن، أولي ليرمان مادسن، بيرغر مولر-بيدرسن: متى ولماذا ولماذا لا لغة برمجة بيتا، مؤتمر تاريخ لغات البرمجة الثالث، سان دييغو 2007، جمعية آلات الحوسبةأُرشف بتاريخ 11 فبراير 2017 في أرشيف الإنترنت (Wayback Machine) .

مراجع

  1. 1 2 المصدر:أولي ليرمان مادسن: نظرة عامة على BETA
  2. "الصفحة الرئيسية للغة بيتا" . beta.cs.au.dk .