نموذج البرمجة
نموذج البرمجة هو نموذج تنفيذ مرتبط بواجهة برمجة تطبيقات (API) أو نمط برمجي محدد. في هذا النمط، يوجد في الواقع نموذجان للتنفيذ: نموذج تنفيذ لغة البرمجة الأساسية ، ونموذج تنفيذ نموذج البرمجة نفسه. مثال على ذلك Spark، حيث تُعد Java اللغة الأساسية، وSpark نموذج البرمجة. قد يعتمد التنفيذ على ما يبدو أنه استدعاءات لمكتبات . ومن الأمثلة الأخرى مكتبة POSIX Threads و MapReduce في Hadoop . [ 1 ] في كلتا الحالتين، يختلف نموذج تنفيذ نموذج البرمجة عن نموذج تنفيذ اللغة الأساسية التي كُتب بها الكود. على سبيل المثال، لا تحتوي لغة البرمجة C على أي سلوك في نموذج تنفيذها للإدخال/الإخراج أو سلوك الخيوط. ولكن يمكن استدعاء هذا السلوك من خلال بناء جملة C، عن طريق إجراء ما يبدو أنه استدعاء لمكتبة C عادية.
ما يُميّز نموذج البرمجة عن المكتبة العادية هو أن سلوك الاستدعاء لا يُمكن فهمه من خلال لغة البرمجة. على سبيل المثال، لا يُمكن فهم سلوك استدعاءات مكتبة خيوط POSIX من خلال لغة C. والسبب هو أن الاستدعاء يستدعي نموذج تنفيذ مختلفًا عن نموذج تنفيذ اللغة. يُعدّ هذا الاستدعاء لنموذج تنفيذ خارجي السمة المميزة لنموذج البرمجة ، على عكس لغة البرمجة .
في الحوسبة المتوازية ، غالبًا ما يتطلب نموذج التنفيذ الكشف عن خصائص الأجهزة لتحقيق أداء عالٍ. ويؤدي التباين الكبير في الأجهزة المتوازية إلى الحاجة المُلحة لعدد كبير مماثل من نماذج التنفيذ المتوازية. ومن غير العملي ابتكار لغة جديدة لكل نموذج تنفيذ، لذا يُعد استدعاء سلوكيات نموذج التنفيذ المتوازي عبر واجهة برمجة التطبيقات (API) ممارسة شائعة. وبالتالي، يُبذل معظم الجهد البرمجي عبر نماذج البرمجة المتوازية بدلًا من لغات البرمجة المتوازية. وتميل المصطلحات المُستخدمة في هذه النماذج إلى التركيز على تفاصيل الأجهزة التي استُلهم منها نموذج التنفيذ، وفي هذا السياق المُنغلق، ينشأ اعتقاد خاطئ بأن نموذج البرمجة يُستخدم فقط عندما يكون نموذج التنفيذ مُطابقًا تمامًا لخصائص الأجهزة. [ 2 ]
مراجع
- ↑ آي بي إم. "ما هو MapReduce" . آي بي إم . تم الاسترجاع في 19 أبريل 2020 .
- ↑ مركز برشلونة للحوسبة الفائقة. "نموذج برمجة COMP فائق القياس" .
- برمجة الحاسوب
