البرمجة بتبدأ لما يكون عندك مطلوب وعاوز تحول المطلوب ده لخطوات واضحة يقدر الكمبيوتر ينفذها كتابة الكود جزء من الشغل لكن قبله فيه فهم للمشكلة وبعده فيه تجربة ومراجعة
مثلا عندك مكتبة كتب وعاوز تحسب إجمالي شراء عدة نسخ هنستخدم الفكرة البسيطة دي علشان نفرق بين البرمجة ولغة البرمجة والكود والبرنامج
يعني إيه برمجة
البرمجة هي تصميم الحل وكتابة تعليماته وتجربته وتحسينه في مثال المكتبة محتاج تعرف سعر النسخة وعدد النسخ وبعدين تضربهم في بعض وتعرض الناتج
قبل الكود لازم تحدد المقصود هل السعر شامل الشحن وهل عدد النسخ ممكن يكون صفرا وهل تقبل قيمة سالبة الكمبيوتر مش هيقرر القواعد دي بدالك
يعني إيه Algorithm
ال Algorithm معناها خوارزمية وهي خطوات محددة لحل مشكلة مش لازم تكتبها بلغة برمجة من أول لحظة تقدر تكتبها بكلام واضح أو ترسمها
1. Read the unit price
2. Read the quantity
3. Multiply the price by the quantity
4. Display the totalالخطوات دي تصور مبسط للمثال بعدين نضيف التحقق من المدخلات والقواعد المطلوبة حسب التطبيق
يعني إيه لغة برمجة
لغة البرمجة بتوفر قواعد وتعبيرات تكتب بيها التعليمات زي تعريف قيمة وإجراء عملية حسابية واتخاذ قرار وتكرار خطوة من أمثلتها Python و JavaScript
الفكرة الواحدة ممكن تتكتب بلغات مختلفة لكن مش كل اللغات مناسبة بنفس الدرجة لكل مهمة اختار لغة مرتبطة بالمجال اللي عاوز تتعلمه وركز على فهم الأفكار المشتركة
يعني إيه Source Code
ال Source Code هو النص اللي كتبته بلغة البرمجة وممكن تحفظه في ملف وتعدله في محرر الكود المثال التالي مكتوب بلغة Python وبيحسب سعر ثلاث نسخ
unit_price = 50
quantity = 3
total = unit_price * quantity
print(total)150ال unit_price اسم لقيمة سعر النسخة وال quantity اسم لعدد النسخ وال total بيحفظ نتيجة الضرب أما print فهي الدالة اللي استخدمناها لعرض الناتج
نفس الفكرة بلغة JavaScript
المطلوب نفسه متغيرش لكن طريقة كتابة تعريف القيم وعرض النتيجة اختلفت تقدر تجرب المثال في Console المتصفح أو في بيئة مناسبة لتشغيل JavaScript
const unitPrice = 50;
const quantity = 3;
const total = unitPrice * quantity;
console.log(total);150لو فهمت العلاقة بين السعر والعدد هتعرف تنقل الحل للغة تانية لكن لو حفظت السطور من غير فهم هتحتاج تحفظ كل مثال من البداية
الكود بيتنفذ إزاي
كتابة الملف في المحرر مش كفاية لوحدها علشان يتنفذ لازم بيئة تشغيل مناسبة للغة بعض البيئات بتترجم الكود قبل التشغيل وبعضها بتفسر تعليمات أثناء التشغيل وفيه بيئات بتجمع أكتر من طريقة
ال Compiler بيترجم من تمثيل للكود لتمثيل آخر ومش شرط الناتج يكون تعليمات المعالج مباشرة أما ال Interpreter فبينفذ البرنامج من خلال بيئة التفسير تفاصيل التنفيذ بتعتمد على اللغة والبيئة المستخدمة
مش محتاج تتعمق في كل التفاصيل من أول يوم ابدأ بمعرفة إزاي تشغل ملفك وإزاي تشوف النتيجة ورسائل الخطأ بدل الاعتقاد إن كل لغة لازم تمر بنفس الخطوات
المحرر مختلف عن البرنامج اللي بيشغل الكود
ال Text Editor بيساعدك تكتب وتعدل الملفات وقد يضيف تلوين الكود واقتراحات أما ال IDE فهو Integrated Development Environment يعني بيئة تطوير متكاملة بتجمع أدوات أكتر للشغل
ممكن المحرر يوفر زرار تشغيل لكنه غالبا بيعتمد على أدوات أو بيئة لازم تكون متجهزة فلو الملف مش بيشتغل راجع إعداد التشغيل ورسالة الخطأ مش شكل الكود بس
البرنامج محتاج قرارات مش حسابات بس
خلينا نفترض إن المكتبة بتقبل طلب كتاب واحد على الأقل هنضيف شرطا يمنع العدد صفر أو السالب في المثال البسيط ده
unit_price = 50
quantity = 0
if quantity < 1:
print("Choose at least one book")
else:
print(unit_price * quantity)Choose at least one bookالشرط هنا مش تحقق كامل لمدخلات مستخدم حقيقي إحنا حددنا القيم داخل الكود ولو العدد جاي من نموذج لازم تتأكد كمان من نوعه وحدوده حسب المطلوب
إزاي تتعلم من المثال
غير quantity إلى 2 وتوقع الناتج قبل التشغيل وبعدها جرب 0 و -1 وشوف هل البرنامج بيحقق القاعدة اللي حددناها
اسأل نفسك في كل مثال المدخلات إيه والمخرجات المطلوبة إيه وإيه الحالات اللي محتاجة تعامل مختلف بالطريقة دي بتتعلم التفكير في الحل بجانب تعلم قواعد اللغة