أخر الاخبار

المصطلحات العامة والنماذج الخاصة بالبرمجة

المصطلحات العامة والنماذج الخاصة بالبرمجة

المصطلحات العامة والنماذج الخاصة بالبرمجة

 في بداية الامر كانت البرمجة تعبر عنها بالصفر والواحد، حتى ظهور واكتشاف اللغات التجميعية التي تدل على البرمجة والتي لها ارتباط كبير بــ Hardware، ومع التعامل باللغات التجميعية بدأت معها الماكرو Macros والكثير من الخصائص التي سوف نتعرف عليها ونراها في اللغات الإجرائية الأكثر تقدما، ثم الظهور الخاص باللغات الأكثر تقدما والأعلى مستوي والتي أعلنت عن عصر التكنولوجيا الحديثة والبرمجة.

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

النماذج الخاصة بالبرمجة Programming Paradigms

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

أولا: البرمجة الإلزامية Imperative

هذا النوع التي يوصف الحاسوب من الناحية الخاصة بالجمل التي تعمل على تغيير الحالة الخاصة بها، وندرج منها الكثير من النماذج والمصطلحات:

أولا: البرمجة الغير منتظمة Programing non structure

في النوع نتحدث عن البرمجة المنخفضة المستوي والغير مرتبة ويوجد منها اللغات العالية المستوي ومنها
Msx Basic, Gw basic, focal joss, mumps, telcomp, cobol, machine code
نجد في البرمجة الغير منتظمة انها نتج الاكواد الصعبة التي يصعب قراءتها والتي تعرف بـــ اكواد الإسباجتي وتعتبر مناسبة في بعض الأحيان للمشاريع المهمة التي توفر للمبرمجين طريقة كتابة موتسارت الخاص بـ المقطوعات الموسيقية.

كتابة البرامج الغير المنتظمة تتكون من مجموعة أوامر وجمل تكتب كل جملة في سطر مستقل بذاته، والاسطر تكون بترقيم بطريقة الية والتي تمكن المبرمج من الانتقال الي أي سطر برمجي، وتوفير الأساسيات الالية التحكم في عملية سير البرامج.

ثانيا: البرمجة المنتظمة Structure programing

البرمجة المنتظمة والتي تعبر عن إحدى الشعب الخاصة بالبرمجة الإلزامية وتمثل اهم وأكبر النماذج الخاصة بالبرمجة، وتميزت البرمجة المنتظمة بانها ازالت الجملة Goto والحد من استخدامها في البرامج، ويوجد مناهج خاصة بالبرمجة المنتظمة والمتداولة في كتابتها ومنها:

1.      طريقة Edsger Dijkstra التي تعبر عن هيكل البرامج والهياكل الجزئية.

2.      الطريقة المشتقة من الطريقة الاولي التي تعمل على تقسيم البرامج الجزئية في مدخل واحد فقط للبرامج.

3.      المنهج الخاص بــJackson للبرمجة المنتظمة التي تعمل على محاذاة البيانات من الأجزاء المنظمة للبرامج.

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

ثالثا: البرمجة الإجرائية procedural

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

       المتغيرات

في مثل ما يوجد في عالم الرياضيات من مجموعات متغيرة يوجد أيضا العديد من المتغيرات في عالم البرمجة، ولا يخلو أي برنامج من متغيرات الا في بعض الحالات النادرة جدا، والانواع التي تحمل متغيرات تحمل قيم واحدة فقط ويوجد الأنواع المختلفة في المتغيرات الكلية مثل constant or static variable وغيرها من مختلفات المصطلحات، هذه المتغيرات ربما تبدو عبثية ولا يمكن تغير قيمته عند اسناد القيمة الأولية.

القوائم والمجموعات

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

   القواميس

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

   القيمة الفارغة

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

   المسار الخاص بالبرامج  

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

       دوائر التكرار

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

  التعابير النمطية Regular Expressions

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

رابعا: البرمجة التي تعتمد على تطور الاحداث Event Driven

يستخدم في هذه الطريقة من البرمجة مسار ما يحدد البرمجة من خلال عملية الاحداث الناتجة مثل الحسابات، وعادة ما يتم التعامل مع هذا النوع من البرمجة ببرمجة الوجهات الرسومية التي توفر اليات الترابط بين الوجهات المرسومة والاكواد التي تبرمج.

خامسا: البرمجة التي تخص الكائنات

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

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

مميزات البرمجة الشيئية

البساطة: حيث ان الكائنات التي تحاكي الكائنات الحقيقة تؤدي الي التقليل من التعقيد في هيكل البرامج.

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

إعادة الاستخدام: تتيح لنا كيفية إعادة استخدام الكائنات وتوفير الوقت في عملها مرة اخري.
التطور: عملية التطور في هذه النوع تكون سهلة من خلال إضافة الكائنات الجديدة أيضا والتعديل المباشر عليها.

سادسا: البرمجة الوظيفية Functional Programing

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

ومن اللغات التي تدعم هذا النوع من البرمجة
·         Code references
·         Closures


ثانيا: البرمجة الإعلانية Declarative

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

 IDE    وهي اختصار Integrated Development Environment

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

البرمجة المترجمة والمفسرة Compiled and Interpreted

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

تعليقات