الفرق الرئيسي - البرمجة الوظيفية مقابل البرمجة الحتمية

الفرق الرئيسي بين البرمجة الوظيفية والبرمجة الحتمية هو أن البرمجة الوظيفية تعتبر العمليات الحسابية كوظائف حسابية وتتجنب تغيير حالة البيانات القابلة للتغيير بينما تستخدم البرمجة الضرورية العبارات التي تغير حالة البرامج.

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

محتويات

1. نظرة عامة والفرق الرئيسي 2. ما هو البرمجة الوظيفية 3. ما هو البرمجة الحتمية 4. أوجه التشابه بين البرمجة الوظيفية والبرمجة الحتمية 5. مقارنة جنبًا إلى جنب - البرمجة الوظيفية مقابل البرمجة الحتمية في شكل جدول 6. ملخص

ما هي البرمجة الوظيفية؟

تعتمد البرمجة الوظيفية على الرياضيات. المبدأ الأساسي وراء البرمجة الوظيفية هو أن كل الحسابات تعتبر مجموعة من الوظائف الرياضية المنفصلة. تقوم دالة رياضية بتخطيط المدخلات للمخرجات. افترض أن هناك وظيفة تسمى f (x) = x * x. يتم تعيين قيمة س 1 لإخراج 1. يتم تعيين قيمة س 2 لإخراج 4. يتم تعيين قيمة س 3 لإخراج 9 وهلم جرا.

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

تحتوي الدالة sum على قيم عدد صحيح ، وستكون النتيجة أيضًا عددًا صحيحًا. يمكن كتابته كمجموع: [int] -> int. يمكن إجراء الجمع باتباع الأنماط أدناه.

sum [n] = n ، مجموع الرقم هو الرقم نفسه.

إذا كان هناك قائمة من الأرقام ، يمكن كتابتها على النحو التالي. يمثل n الرقم الأول ويمثل ns الأرقام الأخرى

I (، ن ن) = ن + م م.

يمكن تطبيق الأنماط أعلاه لإيجاد جمع ثلاثة أرقام وهي 3،4،5.

3 + مبلغ [4،5]

3 + (4 + مبلغ [5])

3+ 4 + 5 = 12

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

ما هي البرمجة الحتمية؟

البرمجة الحتمية هي نموذج برمجة يستخدم العبارات التي تغير حالة البرنامج. إنه يركز على وصف كيفية عمل البرنامج. لغات البرمجة مثل Java و C و C # هي لغات برمجة ضرورية. يوفر إجراء خطوة بخطوة حول ما يجب القيام به. تحتوي لغات البرمجة الضرورية على بنى مثل if و else و while للحلقات والفئات والكائنات والوظائف.

جمع عشرة أرقام يمكن العثور عليها في جافا على النحو التالي. في كل تكرار ، تتم إضافة القيمة i إلى المجموع ويتم تعيينها لمتغير المجموع. في كل تكرار ، تستمر قيمة المبلغ في الإضافة إلى المبلغ المحسوب مسبقًا.

كثافة العمليات I = 0؛

لـ (int i = 0 ؛ i <= 10 ؛ i ++) {

sum = sum + i؛

}

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

ما هو التشابه بين البرمجة الوظيفية والبرمجة الحتمية؟

  • كل من البرمجة الوظيفية والبرمجة الحتمية هي نماذج البرمجة.

ما هو الفرق بين البرمجة الوظيفية والبرمجة الحتمية؟

البرمجة الوظيفية مقابل البرمجة الحتمية
البرمجة الوظيفية هي نموذج برمجة يعتبر الحساب بمثابة تقييم للوظائف الرياضية ويتجنب تغيير الحالة والبيانات القابلة للتغيير.البرمجة الحتمية هي نموذج برمجة يستخدم عبارات ، والتي تغير حالة البرنامج.
الهياكل
البرمجة الوظيفية تحتوي على استدعاءات الوظائف ووظائف الترتيب العالي.تحتوي البرمجة الحتمية على ما إذا كان هناك شيء آخر بالنسبة للحلقات والوظائف والفئات والكائنات.
لغات البرمجة
تعد Scala و Haskell و Lisp لغات برمجة وظيفية.C ، C ++ ، Java هي لغات البرمجة الضرورية.
التركيز
تركز البرمجة الوظيفية على النتيجة النهائية.تركز البرمجة الضرورية على وصف كيفية عمل البرنامج.
بساطة
البرمجة الوظيفية صعبة.البرمجة الحتمية أسهل.

ملخص - البرمجة الوظيفية مقابل البرمجة الحتمية

يوفر نموذج البرمجة نمطًا لبناء هيكل وعناصر برنامج الكمبيوتر. البرمجة الوظيفية والبرمجة الضرورية هما اثنان. الفرق بين البرمجة الوظيفية والبرمجة الحتمية هو أن البرمجة الوظيفية تعتبر العمليات الحسابية كوظائف حسابية وتتجنب تغيير الحالة والبيانات القابلة للتغيير بينما تستخدم البرمجة الضرورية العبارات التي تغير حالة البرامج.

مرجع:

1. "البرمجة الحتمية". ويكيبيديا ، مؤسسة ويكيميديا ​​، 28 مارس 2018. متاح هنا 2. "البرمجة الوظيفية". ويكيبيديا ، مؤسسة ويكيميديا ​​، 28 مارس 2018. متاح هنا 3.Computerphile. YouTube ، YouTube ، 30 أغسطس 2013. متوفر هنا

الصورة مجاملة:

1.'Haskell Logo'By Haskell1965 - العمل الخاص ، (CC BY-SA 3.0) عبر كومنز ويكيميديا ​​2.'14485179234'by Linux Screenshots (CC BY 2.0) عبر Flickr