بسم الله الرحمن الرحيم

مرحبا بكم مرة اخري في بداية سلسلة لدورة جديدة مختلفة عما اعتدم عليه 
سنناقش في هذه السلسلة جملة ( كيف اصبح مبرمج )
اجل لا تستغربوا سنستمر في عدة مقالات قادمة نناقش هذه الجملة كيف يمكننا ان نصبح مبرمجين 
سنناقش في هذه الدورة مفهوم البرمجة والهدف من البرمجة و نماذج البرمجة 
والفرق بين لغات البرمجة ونبذه عن اشهر اللغات ومفهوم البرمجة الشيئية حتي نصل في النهاية لتخصص في احد لغات البرمجة 

Lecture 1 :

نتطرق في البداية لمفهوم البرمجة اذا بحثت في الإنترنت عن معني كلمة برمجة لكن قبل ان نتطرق للمفهوم
لا يوجد مفهوم عام للبرمجة ويمكن وضع اي مفهوم للبرمجة تبعا لرؤية المبرمج وكافة هذه المفاهيم صحيحة
تجد المفاهيم التقليدية امامك وهي : "البرمجة عبارة عن عملية انشاء او كتابة التعليمات او الأوامر لكي يتم تنفيذها من قبل الجهاز"
دعنا نبسط هذا المعني قليلا 
عندما يتجمع اشخاص من جميع انحاء العالم في اجتماع ما بلا شك سيتحدثون اللغة الإنجليزية لانها بمثابة اشهر لغة في العالم 
فما هو العامل المشترك بين جميع الأشخاص مختلفين الثقافة 
و اﻷعراق هو قدرتهم علي التحدث باللغة الإنجليزية


هذا المثال مشابه لمعني البرمجة : فالبرمجة هي الوسيلة التي تمكنا من التواصل مع اجهزة الكمبيوتر لتنفيذ اوامر نعطيها للأجهزة في صورة اوامر برمجية

فلغات البرمجة بإختلاف مسمياتها واختلاف اغراضها فهي عبارة عن لغة تمكنا من اعطاء اوامر او مهام للحاسوب ويقوم بتنفيذها


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

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

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

حسنا بعد ان اخذنا نبذه مقدمة عن البرمجة هناك تقسيمات تتبع للبرمجة او ما يسمي بمعني اخر نماذج البرمجة :

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


توجد عدة نماذج للبرمجة سنناقش في هذه السلسلة ما يسمي بالبرمجة الإلزامية Imperative programming
والبرمجة التعريفية

وسنناقش في هذا النموذج عدة نماذج ثانوية مثل 
(البرمجة الغير منظمة - البرمجة المنظمة - البرمجة الإجرائية - البرمجة المعتمدة علي الأحداث - البرمجة الشيئية (الكائنية))

سنناقش في هذا الدرس البرمجة الغير منظمة وسنناقش باقي النماذج في الدروس القادمة 

البرمجة الغير منظمة :

هذا النموذج من البرمجه يلقي عدة انتقادات بسبب انه ينتج عنه اكواد صعبة القراءة ولهذا السبب لا نجد ان البرمجة الغير منتظمة تستخدم في المشاريع الضخمة 

خصائص البرمجة في هذا النموذج :

تتكون البرامج المكتوبة بهذا النموذج انها تتكون غالبا ما تتكون من جمل حيث يتم كتابة كل جملة في سطر 
وتكون الأسطر مرقمة او معنونه Labeled
لكي يتمكن البرنامج من انتقال لأي جزء في الكود عن طريق معرفة عنوان السطر الذي يريد الإنتقال اليه
رغم صعوبة هذا النموذج وانه غير شائع في الإستخدام 
ولكن هذا النموذج وفر عدة مميزات حيث يوفر اساسيات آليات التحكم بسير البرنامج 
وتوفر ايضا امكانية تصميم سلسلة من الإرشادات البرمجية التي تؤدي مهمة واحدة 
ويتم تجميع هذه السلسة في وحدة واحدة حيث يمكن استخدام هذه الوحدة في البرامج لكي تقوم بمهمة واحدة معينة 
ويمكن اختصار كل ما سبق بمفهوم subroutines
ولازلت حتي الأن هناك عدة لغات تستخدم هذا النموذج من البرمجة 
Machine Level code
Mumps
cobol
Assembly debugger

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




سنناقش في lecture 2 احد نماذج البرمجة اﻷمرية 
وهو البرمجة المنظمة و البرمجة الإجرائية 

تصميم : بلال حسان سعدي 
تعليقات