النكهات (لغة برمجة)
Flavors [ 1 ] هي امتداد مبكر للغة Lisp موجه للكائنات ، طوّره هوارد كانون في مختبر الذكاء الاصطناعي بمعهد ماساتشوستس للتكنولوجيا (MIT) لآلة Lisp ولغة البرمجة الخاصة بها Lisp Machine Lisp . وتُعدّ Flavors أول لغة برمجة تتضمن mixins . [ 2 ] استخدمتها شركة Symbolics في آلات Lisp الخاصة بها، وطوّرتها لاحقًا إلى New Flavors ؛ وكانت كلتا النسختين، Flavors الأصلية والجديدة، نماذج موجهة للكائنات تعتمد على تمرير الرسائل . وكان لها تأثير كبير في تطوير نظام كائنات Common Lisp (CLOS). [ 3 ]
تتوفر أيضًا تطبيقات النكهات للغة Common Lisp . [ 4 ]
استبدلت النكهات الجديدة إرسال الرسائل باستدعاء الدوال العامة .
تقدم Flavors :beforeو :afterdaemons مع مجموعة الطرق الافتراضية (تسمى :daemon).
مقارنة النكهات وميزات نظام الإغلاق
يقدم Flavors بعض الميزات غير الموجودة في CLOS:
- أغلفة
- الوصول المعجمي التلقائي إلى الخانات باستخدام المتغيرات داخل الطرق.
- وظائف النكهة الداخلية، والوحدات الكلية، والبدائل.
- المُنشئات المُولّدة تلقائيًا.
DEFFLAVORخيارات::required-methods،:abstract-flavor،:mixture.SENDوظيفة لإرسال الرسائل.
يوفر نظام CLOS الميزات التالية غير الموجودة في Flavors:
- الأساليب المتعددة
- طرق متخصصة في الكائنات الفردية (عبر
EQL). - طرق متخصصة في أنواع Common Lisp (الرمز، العدد الصحيح، ...).
- أساليب متخصصة في أنواع التعريف والبنية.
- أماكن الحصص الدراسية.
مصطلحات
| النكهات | إغلاق |
|---|---|
| نكهة | فصل |
| نكهة المكون | الطبقة العليا |
| نكهة معتمدة | فئة فرعية |
| نكهة المكونات المحلية | الطبقة العليا المباشرة |
| نكهة محلية | الفئة الفرعية المباشرة |
| وظيفة عامة | وظيفة عامة |
| طريقة مشتركة | طريقة فعالة |
| خيار الطريقة | مُؤهِّل الطريقة |
| مثال | مثال |
| متغير مثيل | فتحة |
| ترتيب مكونات النكهة | قائمة أسبقية الفئات |
مراجع
- ↑ هوارد كانون، النكهات: منهج غير هرمي للبرمجة الكائنية التوجه ، شركة سيمبوليكس، 1982
- ↑ انظر الصفحة 46 من كتاب تومسون، سي دبليو، روس، كيه إم، تينانت، إتش آر، وسينز، آر إم، 1983. "بناء واجهات لغة طبيعية سهلة الاستخدام قائمة على القوائم لقواعد البيانات". في وقائع المؤتمر الدولي التاسع حول قواعد البيانات الضخمة جدًا (31 أكتوبر - 2 نوفمبر 1983). إم. شكولنيك وسي. ثانوس، محرران. قواعد البيانات الضخمة جدًا. دار مورغان كوفمان للنشر، سان فرانسيسكو، كاليفورنيا، الصفحات 43-55.
- ↑ « كانت Symbolics (1985) تستخدم New Flavors (نموذج إرسال رسائل، مثل Java اليوم)، وكانت Xerox تستخدم CommonLoops ، وكانت Lisp Machine Incorporated تستخدم Object Lisp (Bobrow، 1986)، واقترحت Hewlett-Packard استخدام Common Objects (Kempf، 1987). تنافست هذه المجموعات فيما بينها في سياق جهود التوحيد القياسي الجارية للغة Common Lisp في ذلك الوقت، واستقرت في النهاية على معيار قائم على CommonLoops وNew Flavors.» ص 108 من Veitch 1998.
- ↑ نكهات أليغرو سي إل
- فيتش، جيم (1998). "تاريخ ووصف لغة CLOS". في سالوس، بيتر هـ. (محرر). دليل لغات البرمجة، المجلد الرابع: لغات البرمجة الوظيفية والمنطقية ( الطبعة الأولى). ماكميلان للنشر التقني. الصفحات 107-158 . ISBN 1-57870-011-6.
للمزيد من القراءة
- مون، ديفيد أ. (يونيو 1986). "البرمجة الكائنية التوجه مع نكهات" (ملف PDF) . وقائع مؤتمر أنظمة ولغات وتطبيقات البرمجة الكائنية التوجه . OOPSLA '86. الصفحات 1-8 . doi : 10.1145/28697.28698 . ISBN 978-0-89791-204-4. S2CID 17150741 . تم الاسترجاع في 17 مارس 2022 .
- "النكهات، تقرير فني"، مختبر الذكاء الاصطناعي بمعهد ماساتشوستس للتكنولوجيا ، كامبريدج (ماساتشوستس)، 1980
- دانيال واينريب وديفيد أ. مون ، "النكهات: تمرير الرسائل في آلة ليسب" ، مذكرة الذكاء الاصطناعي رقم 602، نوفمبر 1980، مختبر الذكاء الاصطناعي بمعهد ماساتشوستس للتكنولوجيا
- عائلة لغات البرمجة ليسب
- لغة الشفرة الشائعة
- لغات البرمجة الكائنية التوجه
