أتموتك التقنية

مدونة وموقع أتموتك التقنية - لجميع أخبار عالم التقنية والرقمة أول بأول

recent

آخر الأخبار

recent
random
جاري التحميل ...

الفرق بين البرمجة التعريفية ( Declarative ) والبرمجة الإلزامية ( Imperative )

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

ما هي البرمجة التعريفية ( Declarative ) ؟

البرمجة التعريفية  ( Declarative ) هي نمط من البرمجة حيث يكون المبرمج هو الأكثر قلقا حول النتيجة أو ما يجب أن يكزن الناتج من البرنامج.، حيث أنها لا تهتم بكتابة أفضل أداء للتعليمات البرمجية أو اتباع أي مسار معين، فإنها تركز فقط على الحصول على الإجابات المتوقعة.
البرمجة التعريفية

ما هي البرمجة الإلزامية ( Imperative )؟

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

ما هي الطريقة التي يجب أن تتبعها في مشاريعك؟

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

- قابلية إعادة الاستخدام:

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

- فرص الخطأ:-

تتطلب البرمجة التعريفية  ( Declarative ) كتابة الدالات التي لا تغير حالتها كما تفعل في البرمجة الإلزامية ( Imperative ). يؤدي هذا إلى تقليل فرص الأخطاء ويجعل التطبيق الخاص بك أكثر استقراراً. إزالة الآثار الجانبية من الوظائف الخاصة بك يساعدك على الوصول للفهم الدقيق ما يأتي في وما يخرج وبالتالي جعل البرنامج أكثر قابلية للتنبؤ.

- التحكم:-

من أجل تحقيق النتائج المرجوة فإن استخدام الوظائف الجاهزة أمر شائع في البرمجة التعريفية ( Declarative ). ومع ذلك قد تحتاج أيضاً إلى تغييرات محددة في الدالة لجعلها توفر النتائج المطلوبة. ولكن عادة ما لا يكون لديك هذا التحكم في البرمجة التعريفية كما سيكون لديك في البرمجة الإلزامية ( Imperative ).

إذا كنت تهتم بالتنفيذ فقم باستخدام النمط الإلزامي . خلاف ذلك، فإن النمط التعريفي يعمل بشكل جميل لكثير من المطورين. أيض، يمكنك حتى خلط كلا الأسلوبين حيث انها مرنة للغاية، وبعد كل شيء، فأنت المسؤول و عليك اتخاذ القرار الذي ناسبك في الاختيار.

عن الكاتب

atmotech

التعليقات


جميع الحقوق محفوظة

أتموتك التقنية