البرمجة بتبدأ لما يكون عندك مطلوب وعاوز تحول المطلوب ده لخطوات واضحة يقدر الكمبيوتر ينفذها كتابة الكود جزء من الشغل لكن قبله فيه فهم للمشكلة وبعده فيه تجربة ومراجعة

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

يعني إيه برمجة

البرمجة هي تصميم الحل وكتابة تعليماته وتجربته وتحسينه في مثال المكتبة محتاج تعرف سعر النسخة وعدد النسخ وبعدين تضربهم في بعض وتعرض الناتج

قبل الكود لازم تحدد المقصود هل السعر شامل الشحن وهل عدد النسخ ممكن يكون صفرا وهل تقبل قيمة سالبة الكمبيوتر مش هيقرر القواعد دي بدالك

يعني إيه 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

لو فهمت العلاقة بين السعر والعدد هتعرف تنقل الحل للغة تانية لكن لو حفظت السطور من غير فهم هتحتاج تحفظ كل مثال من البداية

مقدمة عن JavaScript

الكود بيتنفذ إزاي

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

ال Compiler بيترجم من تمثيل للكود لتمثيل آخر ومش شرط الناتج يكون تعليمات المعالج مباشرة أما ال Interpreter فبينفذ البرنامج من خلال بيئة التفسير تفاصيل التنفيذ بتعتمد على اللغة والبيئة المستخدمة

مش محتاج تتعمق في كل التفاصيل من أول يوم ابدأ بمعرفة إزاي تشغل ملفك وإزاي تشوف النتيجة ورسائل الخطأ بدل الاعتقاد إن كل لغة لازم تمر بنفس الخطوات

تشغيل Python باستخدام المفسر

المحرر مختلف عن البرنامج اللي بيشغل الكود

ال 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 وشوف هل البرنامج بيحقق القاعدة اللي حددناها

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