البرمجة الإلكترونية ( Programming Paradigms ) تعريف كامل .
مع بداية الثورة التكنولوجية التي شهدها العالم في كافة المجالات ظهر مصطلح
البرمجة الإلكترونية الذي تنوعت مجالات استخدامه سواء كان في الدراسة أو
العمل و غيرها من الجوانب التي سنتطرق لها في مقالنا هذا ونتحدث عن فحواها
ضمن ما يعرف بأنماط البرمجة (Programming Paradigms).
تعريف البرمجة الإلكترونية Programming
تعرف البرمجة بأنها عملية إدخال مجموعة من التعليمات و الأوامر إلى أجهزة
تقوم بعملية البرمجة وتنفيذ الأوامر التي تم إدخالها سابقا, كما تعتبر وسيلة للتواصل
بين البشر والآلات, حيث يتم فيها ترجمة لغة البشر إلى لغة الحواسيب التي هي
عبارة عن أرقام و رموز تعرف ب ( النظام الثنائي ).
يتم استخدام لغات البرمجة إلى جانب الوسائل المتاحة من تقنيات وأدوات معينة
لحل المشاكل وفق استراتيجيات وخطط محددة, ويمكن أن تعرف بأنها أسلوب
برمجة للحواسيب باتباع طريقة معينة, بغض النظر عن اللغة البرمجية المستخدمة.
تتنوع أساليب البرمجة وطرقها لتتناسب مع لغات البرمجة الكثيرة وتعرف هذه
الأساليب بنماذج البرمجة Programming Paradigms حيث يتميز كل نموذج
عن غيره بصفات وخصائص متنوعة و يكون لكل نموذج أو عدة نماذج لغة
برمجة خاصة به.
تعريف نماذج البرمجة الإلكترونية Programming Paradigms
نموذج البرمجة يقصد به أسلوب البرمجة الذي يشير إلى الطريقة التي تبرمج بها
لغات البرمجة, وهذه اللغات الكثيرة تحتاج إلى بعض الإستراتيجيات عند تنفيذها
وهذه الإستراتيجيات هي النماذج التي هي طريقة لحل بعض المشكلات أو القيام
ببعض المهام باستخدام بعض لغات البرمجة أو التقنيات والأدوات المتاحة وبصرف
النظر عن لغات البرمجة هناك الكثير من النماذج لتلبية كل طلب.
حيث يعتبر التعقيد في نظام البرامج من أكبر التحديات التي تواجه المبرمجين و
كلما كان البرنامج أكثر تعقيدا زادت صعوبة العمل عليه, وأصبح من الصعب إدارته والتحكم به, وهنا تظهر أهمية نماذج البرمجة ودورها في حل التعقيدات
وتقليصها.
أنواع نماذج البرمجة الإلكترونية
نموذج البرمجة الحتمية ( الأمرية )
يتم في هذا النموذج إعداد قائمة من الأوامر والتعليمات التي يقوم الحاسوب بتنفيذها
وإعداد التقارير عنها, وبعد تنفيذ كل الأوامر يثبت الحاسوب النتائج ويخزنها, كما
يعتمد هذا النموذج وبشكل أساسي على أهمية ترتيب الخطوات أثناء العمل عليها
لأن أي خطأ في هذه العملية يترتب عليه عواقب مختلفة لاحقا.
- ميزات نموذج البرمجة الأمرية: سهل التنفيذ للغاية ويحتوي على حلقات
ومتغيرات.
- سلبيات نموذج البرمجة الأمرية: لا يمكنه حل مشكلة معقدة, أقل كفاءة و أقل
إنتاجية.
يندرج ضمن البرمجة الحتمية ثلاثة نماذج من البرمجة وهي :
- نموذج البرمجة الإجرائية :
من أقسام البرمجة الأمرية حيث تأخذ طابع أمري, ويقوم هذا النموذج بتقسيم
التعليمات إلى إجراءات, غرضها الأساسي هو إنجاز مهام معينة للحصول على
نتائج مرغوبة.
- ميزات البرمجة الإجرائية:
تعد من أسهل النماذج فهي لديها القدرة على أن تكون معيارية ومنظمة بدقة
وتحتاج إلى ذاكرة أقل, كما تعد طريقة أسهل لتتبع تدفق البرنامج
- سلبيات البرمجة الإجرائية :
يجب على المبرمج القيام بحل المشكلة بنفسه, و هي بطيئة نوعا ما في حل المشاكل
والمنطقيات كونها تعتمد على تلقين الحاسوب الأوامر.
في هذا النمط يتم تقسيم البرنامج إلى عدة أقسام جزئية لتسهل القراءة وإعادة
الاستخدام وهي ( إجراءات Procedures – توابع Functions – منهجيات
Methods – روتين Routines – روتين فرعي Subroutines )
يوجد عدة لغات تدعم البرمجة الإجرائية منها: C++ , C , JAVA , Pascal , GoldFusion
نموذج البرمجة كائنية التوجه ( الشيئية ) OOP
لهذا النموذج القدرة على الوصل المباشر لمشاكل الأعمال في العالم الواقعي, وذلك
وفق نمط الكود المعتمد, فهو النموذج البرمجي الأكثر شيوعا والذي ينصح بتعلمه
لما يتيحه من سرعة التطوير وكلفتها المنخفضة والجودة العالية للبرامج التي يعمل
بها, إضافة إلى كونه آمنا لقدرته على إخفاء بياناته وجعلها سرية.
يعتمد هذا النمط المتقدم من البرمجة على مفهوم الكائنات التي هي عبارة عن بنى
معلوماتية أو توابع أو وسائل ( إجراءات مرتبطة بأوامر تقوم باتباع بيانات وفق
سلوك معين) حيث تحتوي هذه الكائنات على بيانات و مجموعة من الكودات على
شكل جداول, و تتميز هذه الكائنات أنها تستطيع معالجة بياناتها تلقائيا وذلك عن
طريق الولوج و إجراء التعديلات على جداول البيانات الخاصة بها
يعتمد هذا النموذج على أربعة مفاهيم أساسية وهي:
- التغليف Encapsulation :
تعني قدرة كل كائن على معالجة بياناته ضمن قسمه الخاص حيث أن الكائنات
الأخرى لا تمتلك صلاحيات بالولوج المباشر لهذا القسم إلا إذا وجد هدف معين
عندها يمكنها التواصل مع بعضها وبذلك يصبح عملها متكامل.
- التجريدAbstraction :
أي التحكم بظهور أو إخفاء التوابع, حيث يمكن في هذا النمط من البرمجة تحديد
مدى ظهور هذه التوابع التي تنتمي للكائن (أي يمكن جعل بعضها عام وبعضها
خاص ) بحيث يتم التعامل مع التوابع العامة عن طريق إجرائيات خارجية لا
تنتمي للكائن نفسه, في حين لا يمكن التعامل مع التوابع الخاصة إلا من خلال
إجرائيات معرفة ضمن الكائن.
- الوراثةInheritance :
يشرح مفهوم الوراثة الصفات المنتقلة من جيل لآخر, و في عالم البرمجة الوراثة
هي المفهوم الذي يتيح إنشاء كائنات ترث صفات كائنات أخرى.
- تعدد الأشكالPolymorphism :
في نمط البرمجة كائنية التوجه يمكن استخدام نفس التابع أو العملية لكن لأهداف
مختلفة هذا يعني أن التابع أصبح له أشكال متعددة.
ومن المهم معرفة أن هذه المفاهيم الخاصة بالبرمجة كائنية التوجه تختلف من لغة
إلى أخرى وما ينطبق على لغة ليس بالضرورة أن ينطبق على غيرها.
من اللغات التي تدعم البرمجة كائنية التوجه : C++ , Java , PHP , Python , Ruby , Smaltalk , C# , JavaScript
نموذج المعالجة المتوازية
يسمح نظام هذا النهج بتشغيل البرنامج من قبل عدة معالجات خلال وقت قصير
وذلك بتقسيم العمل بينهم, حيث يمتلك نظام المعالجة المتوازية العديد من أرقام
المعالجات بهدف تشغيل البرنامج في وقت أقل وذلك عن طريق عملية التقسيم.
يفضل استخدام نهج المعالجة المتوازية عندما يحتوي النظام على عدة وحدات
معالجة مركزية, وذلك مثل الأنظمة الحاسوبية الحالية, كما يستخدم لحل المشكلات
الحسابية المعقدة التي تستغرق وقتا قد يصل إلى عدة أيام لحلها.
- ميزات نموذج المعالجة المتوازية:
سريع الأداء وغالبا ما يستخدم في الذكاء الاصطناعي
اللغات التي تدعم هذا النموذج : NESL , C , C++ ,
-2 نموذج البرمجة التعريفي :
يتم في هذه البرمجة تحديد ما يجب على البرنامج إنجازه دون تحديد كيفية تنفيذه
و يتميز هذا النمط من البرمجة بأنه يعد أسلوبا لبناء البرامج التي تعبر عن منطق
الحساب.
ويتفرع هذا النموذج إلى :
- نموذج البرمجة المنطقية :
يتبع نموذج البرمجة المنطقية منهجا تعريفيا خاصا لحل المشكلات وفق منطق رسمي محدد, ويعتمد في عمله على مجموعة من الحقائق البديهية المعروفة ويوظفها بطريقته الخاصة لابتكار بعد رقمي معين تكون هذه الحقائق صحيحة فيه.
يتميز هذا النموذج بأن الكود المتبع فيه سهل التنفيذ, ولا يواجه صعوبة في عملية التصحيح, كما ويمكن تطويره باستخدام البرمجة المنطقية.
- نموذج البرمجة الوظيفية :
مهمته تنفيذ سلسلة من الوظائف الرياضية, فهو ذو لغة برمجة مستقلة لها جذور في علوم الرياضيات, ولا تتأثر وظائفه بأية قيم خارج نطاقها, فهي بسيطة جدا ويمكن ترميزها بسرعة وسهولة.
- نهج معالجة قواعد البيانات :
يعتمد هذا النهج على حركة البيانات, التي تستخدم قواعدها الجداول لمعالجة البيانات والاستعلام عنها, واكتساب القدرة على إدارتها وتعديلها والتحكم بها كما يتيح هذا النهج التواصل مع الخوادم والعمل مع قواعد البيانات.
استعمال عناصر أنماط البرمجة الإلكترونية
تختلف نظرة كل نمط برمجة عن الآخر فيما يخص بنية البرنامج الذي يتعامل معه
فالبرمجة الدالية تنظر إلى البرنامج على أنه سلسلة من تقييمات التوابع المتتالية
أما في البرمجة غرضية التوجه يتم التعامل مع البرنامج على أنه مجموعة من
الأغراض المتفاعلة فيما بينها, كما توجد أنماط للبرمجة تنظر للتطبيقات على أنها
مجموعة من العمليات المتزامنة ضمن بنية من المعطيات المشتركة مثل نمط
Process-oriented
إلى جانب ذلك تعتمد نماذج برمجة أخرى على تجديد نظام الحاسوب كنموذج فون
نيومان الحاسوبي, و الذي يستخدم في أجهزة الحواسيب التسلسلية التقليدية
وفي الختام نأمل أن يكون مقالنا هذا قد قدم معلومات شاملة عن البرمجة
الإلكترونية و أنواعها و أنماطها.