المصطلحات العامة والنماذج الخاصة بالبرمجة
في بداية الامر
كانت البرمجة تعبر عنها بالصفر والواحد، حتى ظهور واكتشاف اللغات التجميعية التي
تدل على البرمجة والتي لها ارتباط كبير بــ 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
يمكن لنا بشكل عام تقسيم اللغات الخاصة بالبرمجة الي
مفسرة ومترجمة كما والحال في اللغات، وهي عبارة عن تحويل الكود الذي يكتبه المبرمج
الي لغات يفهمها الكمبيوتر، والهدف العام من الترجمة هو الحصول علي الملف التنفيذي،
في اللغات المفسرة لا يتم فيها التدقيق عل الأخطاء اثناء الترجمة كما هو الحال في اللغات
المترجمة وهنا يجب ان تتم عملية التدقيق اثناء التنفيذ وهذا يعني السرعة ان السرعة
سوف تقل، والاعتماد علي المفسر يعطي مميزات لأكثر من الاعتماد علي الترجمة بين أنظمة
التشغيل.
ارسل لنا اقتراحك حول الموقع ان كان لك تعقيب علي الموضوع لان هذا يساعد علي كتابة المحتوي بشكل أفضل لك لتفادي اهدار وقتك وساعدنا في تطوير المحتوي الخاص بنا بشكل يليق بك أيها الزائر الكريم وان كنت تحتاج الي النص الخاص بالمقال لا تتردد في التواصل معنا