برمجة على مستوى القيمة

يشير مصطلح البرمجة على مستوى القيمة إلى أحد نموذجي البرمجة المتناقضين اللذين حددهما جون باكوس في عمله حول البرامج ككائنات رياضية ، والآخر هو البرمجة على مستوى الوظيفة . [ 1 ] استخدم باكوس في الأصل مصطلح البرمجة على مستوى الكائن، ولكن هذا المصطلح أصبح الآن عرضة للخلط مع البرمجة الموجهة للكائنات .

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

البرامج التقليدية، برامج فون نيومان، هي برامج على مستوى القيمة: التعبيرات الموجودة على الجانب الأيمن من عبارات التخصيص تهتم حصريًا ببناء قيمة يتم تخزينها بعد ذلك.

الاتصال بأنواع البيانات

يدعو منهج مستوى القيمة في البرمجة إلى دراسة فضاء القيم في ظل عمليات تكوين القيم، والخصائص الجبرية لتلك العمليات. وهذا ما يُسمى بدراسة أنواع البيانات ، وقد تطور من التركيز على القيم نفسها وبنيتها، إلى الاهتمام الأساسي بعمليات تكوين القيم وبنيتها ، كما تحددها بعض البديهيات والقوانين الجبرية، أي إلى الدراسة الجبرية لأنواع البيانات .

الاتصال بلغات حساب التفاضل والتكامل لامدا

اللغات القائمة على حساب لامدا (مثل Lisp و ISWIM و Scheme ) هي في الواقع لغات على مستوى القيمة، على الرغم من أنها ليست مقيدة بالتصميم.

لفهم سبب كون برامج نمط لامدا النموذجية تعتمد بشكل أساسي على مستوى القيمة، انظر إلى التعريف المعتاد لدالة القيمة إلى القيمة، على سبيل المثال

f = λ x . E

هنا، يجب أن يكون x متغيرًا ذا قيمة (لأن وسيط الدالة f هو قيمة بحكم التعريف)، ويجب أن يدل E على قيمة أيضًا (لأن نتيجة f هي قيمة بحكم التعريف). عادةً، يكون E تعبيرًا يتضمن تطبيق دوال تكوين القيم على متغيرات وثوابت ذات قيم؛ ومع ذلك، توجد بعض دوال تكوين القيم التي تحتوي على وسيطات دالة وقيمة، وتُستخدم لأغراض محدودة .

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

مراجع

  1. "البرمجة التجميعية" (ملف PDF) . جامعة ستانفورد. ص  16. تاريخ الاسترجاع: 2025-06-01 .

انظر أيضاً