البرمجة التعريفية هي نموذج برمجة يركز على التعبير عن النتيجة أو النتيجة المرغوبة، بدلاً من إجراء خطوة بخطوة للحصول عليها. فهو يركز على وصف ما يجب أن يحققه البرنامج، بدلاً من التفصيل بوضوح حول كيفية تحقيق تلك الأهداف. غالبًا ما تُعتبر اللغات التصريحية أكثر تجريدًا وأعلى مستوى من نظيراتها الإجرائية، مما يسمح للمطورين بالتعبير عن الأفكار والمنطق المعقد باستخدام تعليمات برمجية أقل.
على النقيض من البرمجة الحتمية أو الإجرائية، حيث يملي الكود كيفية تحقيق البرنامج لأهدافه من خلال تعليمات محددة، تعتمد البرمجة التعريفية على النظام الأساسي أو النظام الأساسي لتحديد الخطوات المناسبة لتحقيق النتيجة المرجوة. يمكّن هذا التجريد المطورين من التركيز على المفاهيم عالية المستوى ومنطق الأعمال، بدلاً من تفاصيل التنفيذ والتحسينات، والتي يتم الاهتمام بها بشكل عام من خلال البنية الأساسية للبرامج أو الأجهزة.
لقد تم بحث وتطوير لغات ومنهجيات البرمجة التعريفية على نطاق واسع على مر السنين وهي سائدة في العديد من مجالات تطوير البرمجيات. تشمل النماذج التصريحية البارزة البرمجة الوظيفية، والبرمجة المنطقية، وبرمجة تدفق البيانات، والبرمجة القائمة على القيود.
البرمجة الوظيفية، على سبيل المثال، هي نموذج حيث يتم إنشاء البرامج باستخدام وظائف رياضية بحتة، دون آثار جانبية أو حالة قابلة للتغيير. لغات مثل Haskell وLisp هي لغات برمجة وظيفية معروفة. في البرمجة الوظيفية، يركز المطورون على تحديد وتأليف الوظائف للتعبير عن منطق البرنامج والسماح لوقت تشغيل اللغة بالاهتمام بتحسين تنفيذ تلك الوظائف.
ومن ناحية أخرى، تعتمد البرمجة المنطقية على المنطق الرسمي وتمكن من التعبير عن العلاقات والقواعد حول مجال المشكلة. إحدى لغات البرمجة المنطقية البارزة هي Prolog، والتي تُستخدم بشكل شائع في مجالات مثل التفكير الرمزي ومعالجة اللغة الطبيعية والذكاء الاصطناعي. يحدد المطورون الذين يستخدمون لغات البرمجة المنطقية عمومًا مجموعة من البديهيات والحقائق والقواعد، ويستمد محرك الاستدلال الخاص باللغة الاستنتاجات والإجابات على الاستفسارات باستخدام هذه التعريفات.
برمجة تدفق البيانات هي نموذج يركز على تدفق البيانات عبر شبكة من العمليات أو الوظائف. تتكون البرامج المكتوبة في هذا النموذج عادةً من مكونات تقوم بتحويل البيانات أو توجيهها أو تصفيتها، والتي تتدفق بينها عبر القنوات أو الاتصالات. غالبًا ما تُستخدم لغات برمجة تدفق البيانات، مثل LabVIEW وPure Data، في مجالات مثل معالجة الإشارات والمحاكاة والبرمجة المرئية.
البرمجة المبنية على القيود هي طريقة تعريفية أخرى، حيث يقوم المطورون بتعريف المتغيرات والثوابت والعلاقات والقيود بين هذه العناصر. يعتبر نموذج البرمجة هذا مناسبًا بشكل خاص للمشكلات التي تتضمن البحث عن حلول في مساحات اندماجية كبيرة ومنفصلة. البرمجة المنطقية المقيدة (CLP) هي فئة فرعية تجمع بين البرمجة المنطقية والبرمجة القائمة على القيود، كما هو موضح في لغات مثل ECLiPSe وMozart/Oz.
في سياق منصة AppMaster no-code ، تلعب البرمجة التعريفية دورًا حيويًا في السماح للعملاء بإنشاء تطبيقات تركز على أهداف العمل ومتطلباته دون التورط في تفاصيل التنفيذ منخفضة المستوى. من خلال الأدوات والواجهات المرئية التي يوفرها AppMaster ، يمكن للمستخدمين تحديد نماذج البيانات وعمليات الأعمال ومنطق التطبيق بطريقة تعريفية، باستخدام تمثيلات رسومية بديهية وتجريدات عالية المستوى.
نظرًا لأن AppMaster ينشئ كود المصدر والتطبيقات بناءً على المخططات التعريفية التي صممها المستخدمون، فهو مسؤول عن ترجمة تلك التعريفات عالية المستوى إلى كود محسّن وفعال وقابل للصيانة. يتيح ذلك لـ AppMaster الاستفادة من أفضل الممارسات والابتكارات في لغات وأطر البرمجة الأساسية، مثل Go وVue3 وKotlin و SwiftUI ، مع حماية المستخدمين من تعقيدات تلك التقنيات.
يعمل نموذج البرمجة التعريفية، كما يتم تسهيله بواسطة منصة AppMaster ، على تبسيط عملية التطوير، مما يجعل تصميم التطبيقات وفهمها وصيانتها أسهل. ومن خلال السماح للمطورين بالتركيز على تحديد ما يجب أن تفعله تطبيقاتهم، بدلاً من كيفية القيام بذلك، تعمل البرمجة التصريحية على تعزيز الابتكار، وزيادة الإنتاجية، وتقليل الديون الفنية المرتبطة بأساليب تطوير التطبيقات التقليدية.