ما هي أشهر نماذج البرمجة
ما هي نماذج البرمجة Programming Paradigms
![]() |
نماذج البرمجة |
نماذج البرمجة أو أساليب البرمجة Programming Paradigms هي طرق ومنهجيات متبعة في كتابة وتنظيم الشيفرات البرمجية ضمن المشاريع البرمجة وهي توفر إرشادات لحل المشكلات وتؤثر على طريقة تفكير المبرمج عند تطوير التطبيقات والبرامج.
هناك العديد من نماذج البرمجة كما هو موضح في الصورة التالية:
وسأركز في مقال اليوم على أشهر 5 طرق أو نماذج برمجية تستخدم في عالم البرمجة:
- البرمجة الحتمية Imperative Programming
- البرمجة الإجرائية Procedural Programming
- البرمجة الكائنية التوجه OOP
- البرمجة الوظيفية Functional Programming
- البرمجة المنطقية Logic Programming
ما هي أنواع البرمجة
1.البرمجة الحتمية
هذا النموذج البرمجي يعتمد على مبدأ تحديد سلسلة التعليمات التي على الحاسوب أن يتبعها لحل مشكلة ما بالتفصيل وبالخطوات الواضحة وهو نموذج البرمجة الأكثر شيوعًا وتعتمده الكثير من نماذج البرمجة الفرعية مثل البرمجة الإجرائية Procedural Programming ومن لغات البرمجة التي تعتمده البرمجة لغة C ولغة جافا Java وغيرها من اللغات.
عندما تكتب البرامج بشكل يركز على توجيه الكمبيوتر على كيفية تنفيذ مجموعة من الخطوات أو الأوامر وتشدد على وصف الخطوات التي يجب على البرنامج تنفيذها بشكل دقيق فأنت تتبع هذا النمط البرمجي.
2. البرمجة الإجرائية
استخدامت هنا لغة البرمجة C لكتابة برنامج بسيط يطلب من المستخدم إدخال اسمه وعمره، ثم يعرض هذه البيانات. يستخدم البرنامج الدالة printf لطباعة الرسائل على الشاشة والدالة scanf لاستلام إدخالات المستخدم وهو يتبع نهج البرمجة الإجرائية حيث يتم تنظيم البرنامج وفق سلسلة من الإجراءات التي تنفيذ بتسلسل محدد.
كما تلاحظ في الكود أعلاه فهذا الأسلوب يقسم المشكلات البرمجية إلى أجزاء أصغر وأكثر قابلية للإدارة بحيث يمكن للمبرمج فهمها وتعديلها بسهولة أكبر. في هذا المنهج البرمجي تقسم الشيفرات البرمجية إلى كتل أو اجزاء منفصلة تسمى الإجراءات أو الطرق البرمجية أو الروتينات الفرعية وهي تؤدي مهام جزئية محددة وتعمل كل الإجراءات مع بعضها لحل المشكلة. من أبرز لغات البرمجة التي تدعم أسلوب الإجرائية نذكر لغة باسكال وفورتران وسي.
3.البرمجة كائنية التوجه
تستخدم البرمجة كائنية التوجه أو البرمجة بالكائنات OOP مفاهيم الأصناف أو الفئات classes والكائنات أو الأغراض objects لحل المشكلات البرمجية بطريقة تشابه مفاهيم العالم الحقيقي حيث أن الأصناف هي عبارة عن نموذج او مخطط عام لوصف خصائص أو بيانات الكائنات وطرق أو سلوك الكائنات. بعدها يتم إنشاء الكائنات لتكون بمثابة أمثلة أو حالات من الأصناف. ومن أبرز لغات البرمجة التي تعتمد هذا الأسلوب نذكر جافا وبايثون و++C.
إليك مثالًا على البرمجة كائنية التوجه بلغة بايثون
# تعريف الكلاس الخاص بالطالب
class Student:
# دالة البناء (المُهيأ) لتهيئة الكائن
def __init__(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
# دالة لعرض معلومات الطالب
def display_student_info(self):
print(f"الطالب {self.name}، عمره {self.age} سنة، ودرجته {self.grade}.")
# البرنامج الرئيسي
if __name__ == "__main__":
# إنشاء كائنات من الكلاس
student1 = Student("أحمد", 20, "جيد")
student2 = Student("سارة", 22, "ممتاز")
# عرض معلومات الطلاب باستخدام دوال الكائنات
student1.display_student_info()
student2.display_student_info()
4.البرمجة الوظيفية
يستخدم نموذج البرمجة الوظيفية وظائف صرفة لبناء التطبيقات والبرنامج وفي هذا الأسلوب يمكنك تمرير الوظائف كوسائط لوظائف أخرى أو إرجاعها كنتائج لنتفيذ وظائف أخرى أو إسنادها كقيم إلى متغيرات.
من أمثلة لغات البرمجة الوظيفية لغة هاكسل Haskell ولغة #F و Lisp كما تعتمدها لغات أخرى مثل جافا سكريبت وبايثون إلى جانب النماذج الأخرى.
إليك مثالًا على هذا النوع من البرمجة بلغة بايثون:
# دالة لحساب مربع العدد
def calculate_square(number):
return number ** 2
# دالة لحساب مجموع مربعين
def calculate_sum_of_squares(num1, num2):
square1 = calculate_square(num1)
square2 = calculate_square(num2)
return square1 + square2
# البرنامج الرئيسي
if __name__ == "__main__":
# الحصول على إدخال المستخدم
num1 = float(input("الرجاء إدخال العدد الأول: "))
num2 = float(input("الرجاء إدخال العدد الثاني: "))
# حساب مجموع مربعين باستخدام الدوال
result = calculate_sum_of_squares(num1, num2)
# عرض النتيجة
print(f"مجموع مربع {num1} و {num2} هو: {result}")
4. البرمجة المنطقية
يعتمد هذا النموذج البرمجي على تطبيق القواعد المنطقية لاستخلاص النتائج المطلوبة. هذا يعني أن البرنامج يتم تعريفه من خلال مجموعة من الحقائق والقواعد التي تستخدمها الآلة لحل المشلات المطلوبة.
من أشهر الأمثلة على لغات البرمجة المنطقية لغة برولوغ Prolog وميركوري Mercur وSQL
على سبيل المثال لاحظ المثال التالي:
-- استعلام SQL لاسترجاع أسماء الطلاب الذين حققوا درجات أعلى من 90
SELECT student_name
FROM grades
WHERE score > 90;