Anúncio

أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf

19 de Sep de 2022
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
Anúncio
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
Anúncio
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf
Próximos SlideShares
01 Introduction in C++01 Introduction in C++
Carregando em ... 3
1 de 13
Anúncio

Mais conteúdo relacionado

Similar a أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf(20)

Anúncio

أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ.pdf

  1. ‫البرمجة؟‬ ‫هي‬ ‫ما‬ ‫بأوامر‬ ‫للتنفيذ‬ ‫وقابلة‬ ‫ومترابطة‬ ‫صغيرة‬ ‫أجزاء‬ ‫إلى‬ ‫الحاسوب‬ ‫عبر‬ ‫تنفيذها‬ ‫يراد‬ ‫معينة‬ ‫مهمة‬ ‫تقسيم‬ ‫عملية‬ ‫هي‬ ‫البرمجة‬ ‫كت‬ ‫يجري‬ ،‫ذلك‬ ‫بعد‬ .‫بسيطة‬ ‫مع‬ ‫للتخاطب‬ ‫وسيلة‬ ‫هي‬ ‫والتي‬ ،‫البرمجة‬ ‫لغات‬ ‫بإحدى‬ ‫والتعليمات‬ ‫األوامر‬ ‫هذه‬ ‫ابة‬ ‫الحاسوب‬ . ‫البرمجة‬ ‫ماهية‬ ‫يشرح‬ ‫الذي‬ ‫التالي‬ ‫العملي‬ ‫المثال‬ ‫إليك‬ : ‫إلى‬ ‫أصل‬ ‫كيف‬ ‫أعرف‬ ‫وال‬ ‫الحديقة‬ ‫بجانب‬ ‫واقف‬ ‫"أنا‬ :‫لك‬ ‫ليقول‬ ‫بك‬ ‫واتصل‬ ،‫اليوم‬ ‫لك‬ ‫صديق‬ ‫زيارة‬ ‫تتوقع‬ ‫كنت‬ ‫إن‬ ‫كل‬ ‫تمر‬ ً‫ة‬‫عاد‬ ‫أنت‬ ."‫منزلك‬ ‫إن‬ ‫ينفع‬ ‫هل‬ ‫برأيك‬ .‫بشبر‬ ‫ا‬ً‫شبر‬ ‫منزلك‬ ‫وبين‬ ‫بينها‬ ‫الطريق‬ ‫وتعرف‬ ‫الحديقة‬ ‫جانب‬ ‫من‬ ‫يوم‬ ‫المشكلة‬ ‫ِّم‬‫تقس‬ ‫أن‬ ‫إلى‬ ‫تحتاج‬ .‫بالتأكيد‬ ،‫ال‬ ‫جانبها"؟‬ ‫من‬ ‫أمر‬ ‫يوم‬ ‫كل‬ ‫وأنا‬ ‫الحديقة‬ ‫من‬ ‫وقريب‬ ‫معروف‬ ‫"منزلي‬ :‫له‬ ‫قلت‬ ‫وتنفيذها‬ ‫فهمها‬ ‫صديقك‬ ‫يستطيع‬ ‫بسيطة‬ ‫خطوات‬ ‫تمثل‬ ‫أجزاء‬ ‫إلى‬ . ‫أخبره‬ ، ً ‫مثًل‬ ‫ثم‬ "‫الشارع‬ ‫نهاية‬ ‫إلى‬ ‫"سر‬ ‫ثم‬ "‫اليمين‬ ‫إلى‬ ‫"اتجه‬ ‫ثم‬ "‫أمتار‬ ‫عشرة‬ ‫األمام‬ ‫إلى‬ ‫"سر‬ :‫التالية‬ ‫األوامر‬ ‫ينفذ‬ ‫أن‬ ‫إلى‬ ‫"اصعد‬ ‫ثم‬ "‫الرابع‬ ‫البناء‬ ‫إلى‬ ‫تصل‬ ‫حتى‬ ‫اليسار‬ ‫على‬ ‫الموجودة‬ ‫األبنية‬ َّ‫د‬ُ‫ع‬" :‫ذلك‬ ‫بعد‬ ‫أخبره‬ ."‫اليسار‬ ‫إلى‬ ‫"اتجه‬ ‫أ‬ ‫سيظهر‬ ‫الذي‬ ‫الباب‬ ‫على‬ ‫"اطرق‬ ‫ثم‬ "‫الثاني‬ ‫الطابق‬ ."‫مامك‬ .‫بدقة‬ ‫منزلك‬ ‫على‬ ‫صديقك‬ ‫تدل‬ ‫أن‬ ‫تستطيع‬ ،‫الطريقة‬ ‫بهذه‬ ‫البرمجة‬ ‫لغات‬ ‫بإحدى‬ ‫تكتب‬ ‫التي‬ ‫التعابير‬ ‫إنها‬ ‫قوسين؟‬ ‫بين‬ ‫المكتوبة‬ ‫التعابير‬ ‫ترى‬ ‫فهل‬ .‫ا‬ً‫م‬‫تما‬ ‫نفسه‬ ‫الشيء‬ ‫هي‬ ‫البرمجة‬ ‫السابق‬ ‫صديقك‬ ‫من‬ ً ‫بدال‬ ‫الحاسوب‬ ‫تخاطب‬ ‫والتي‬ . ‫والق‬ ‫المفردات‬ ‫من‬ ‫مجموعة‬ ‫هي‬ ‫البرمجة‬ ‫لغات‬ ‫بتنفيذ‬ ‫وأمره‬ ‫الحاسوب‬ ‫مع‬ ‫للتخاطب‬ ً‫ة‬‫وسيط‬ ً‫ة‬‫لغ‬ ‫تشكل‬ ‫التي‬ ‫اللغوية‬ ‫واعد‬ ‫ملحة‬ ‫حاجة‬ ‫هنالك‬ ‫كان‬ ‫لذا‬ ،‫الحاسوب‬ ‫لغة‬ ‫يفهمون‬ ‫البشر‬ ‫وال‬ ‫البشر‬ ‫لغة‬ ‫يفهم‬ ‫الحاسوب‬ ‫فًل‬ .‫َّدة‬‫د‬‫مح‬ ‫وأشياء‬ ‫تعليمات‬ ‫البرمجة‬ ‫لغة‬ ‫مفهوم‬ ‫انبثق‬ ،‫لذلك‬ ً‫ة‬‫نتيج‬ ‫كًلهما؛‬ ‫يفهمها‬ ‫وسيطة‬ ‫لغة‬ ‫لوجود‬ . ‫لو‬ ،‫أخرى‬ ‫بعبارة‬ ‫يأتي‬ ‫وهنا‬ ،‫نبتغيه‬ ‫ما‬ ‫ليفهم‬ ‫وبينه‬ ‫بيننا‬ ٍ‫ة‬‫مشترك‬ ٍ‫ة‬‫لغ‬ ‫إلى‬ ‫فسنحتاج‬ ،"‫كذا‬ ‫"افعل‬ ‫للحاسوب‬ ‫نقول‬ ‫أن‬ ‫أردنا‬ ‫والحاسوب‬ ‫المبرمج‬ ‫بين‬ ‫وسيط‬ ‫أنها‬ ‫على‬ ‫البرمجة‬ ‫لغات‬ ‫تعد‬ ‫أن‬ ‫يمكنك‬ ‫إذ‬ ،‫البرمجة‬ ‫لغات‬ ‫دور‬ . ‫إلتمام‬ ‫بها‬ ‫القيام‬ ‫الحاسوب‬ ‫على‬ ‫التي‬ ‫الخطوات‬ ‫تسلسل‬ ‫في‬ ‫بالتفكير‬ ‫المبرمج‬ ‫يهتم‬ ‫حساب‬ ‫(مثل‬ ‫منه‬ ‫المطلوب‬ ‫العمل‬ ‫البرمجة‬ ‫لغات‬ ‫بإحدى‬ ‫منطقي‬ ‫بترتيب‬ ‫الخطوات‬ ‫هذه‬ ‫كتابة‬ ‫ثم‬ ،)‫الوالدة‬ ‫تاريخ‬ ‫على‬ ‫ًا‬‫د‬‫اعتما‬ ‫العمر‬ . ‫الشائع‬ ‫السؤال‬ ‫إلى‬ ‫ننتقل‬ ‫يجعلنا‬ ‫وهذا‬ ،‫المنطقي‬ ‫التفكير‬ ‫هو‬ ‫المبرمج‬ ‫مهمة‬ ‫من‬ ‫ا‬ً‫ء‬‫جز‬ ‫أن‬ ‫السابقة‬ ‫الجملة‬ ‫في‬ َ‫الحظت‬ ‫ربما‬ ‫وأص‬ ‫البرمجة‬ ‫تعلم‬ ‫أستطيع‬ ‫"هل‬ ‫ا؟‬ً‫ج‬‫مبرم‬ ‫ألصبح‬ ‫مؤهل‬ ‫أنا‬ ‫"هل‬ ‫أو‬ "‫ا؟‬ً‫ج‬‫مبرم‬ ‫بح‬ ". ‫البرمجة؟‬ ‫تتعلم‬ ‫لماذا‬ ‫الصفر‬ ‫من‬ ‫البرمجة‬ ‫تعلم‬ ‫أن‬ ‫يبدو‬ ‫البرمجة‬ ‫تتعلم‬ ‫يجعلك‬ ‫ا‬ً‫حافز‬ ‫تريد‬ ‫لكنك‬ ،‫توقعتها‬ ‫التي‬ ‫بالصعوبة‬ ‫ليس‬ . ‫في‬ ‫التوظيف‬ ‫مجال‬ ‫ستكتسح‬ ‫المبرمجين‬ ‫وظائف‬ ‫وأن‬ ،‫المستقبل‬ ‫مجال‬ ‫هي‬ ‫البرمجة‬ ‫أن‬ ‫ا‬ً‫كثير‬ ‫تسمع‬ ‫القادمة؟‬ ‫السنوات‬ ً ‫دخًل‬ ‫الوظائف‬ ‫أعلى‬ ‫من‬ ‫هي‬ ‫البرمجة‬ ‫وظائف‬ َّ‫أن‬ ‫كما‬ ،‫ذلك‬ ‫لك‬ ‫أؤكد‬ ‫أن‬ ‫أستطيع‬ . ‫أفضل‬ ‫هو‬ ‫بها‬ ‫والعمل‬ ‫البرمجة‬ ‫تعلم‬ ‫فإن‬ ،‫ممتاز‬ ٍ‫ل‬‫دخ‬ ‫وذا‬ ‫ا‬ً‫مستقر‬ ً ‫عمًل‬ ‫وتريد‬ ‫االحترافي‬ ‫مشوارك‬ ‫بدء‬ ‫تريد‬ ‫كنت‬ ‫فلو‬ ‫أمامك‬ ٍ ‫خيار‬ . ‫أما‬ ‫مكتبي‬ ‫كله‬ ‫فالعمل‬ ،‫ا‬ً‫م‬‫عمو‬ ‫مريحة‬ ‫البرمجة‬ ‫وظائف‬ ‫نظام‬ ‫تتبع‬ ‫الشركات‬ ‫وأغلبية‬ ،‫ومناسبة‬ ‫مريحة‬ ‫بيئة‬ ‫في‬ ‫حاسوب‬ ‫م‬ ‫العمل‬ 40 ‫(أي‬ ‫األسبوع‬ ‫في‬ ‫ساعة‬ 5 ‫لمدة‬ ‫أيام‬ 8 ‫خًلل‬ ‫من‬ ‫بعد‬ ‫عن‬ ‫العمل‬ ‫على‬ ‫قدرتك‬ ‫عن‬ ‫تغفل‬ ‫وال‬ ،)‫ًا‬‫ي‬‫يوم‬ ‫ساعات‬ ‫فراغك‬ ‫أوقات‬ ‫في‬ ‫كمستقل‬ ‫أو‬ ‫االنترنت‬ . ‫الحاس‬ ‫مع‬ ‫تعاملك‬ ‫أن‬ ‫ا‬ً‫ص‬‫خصو‬ ،‫ا‬ً‫كثير‬ ‫تفكيرك‬ ‫أفق‬ ‫سيوسع‬ ‫البرمجة‬ ‫تعلم‬ ‫أن‬ ‫وستجد‬ ،‫المنطقي‬ ‫التفكير‬ ‫إلى‬ ‫يتبع‬ ‫وب‬ ‫الحاسوب‬ ‫في‬ ‫أخرى‬ ‫بأمور‬ ‫القيام‬ ‫لك‬ ‫ستسهل‬ ‫البرمجة‬ . ‫ا‬ً‫ج‬‫مبرم‬ ‫لتصبح‬ ‫معرفته‬ ‫عليك‬ ‫ما‬ َّ‫أن‬ ٌ‫ح‬‫فصحي‬ ،‫ا‬ً‫ح‬‫صحي‬ ‫ليس‬ ‫وهذا‬ ،‫ا‬ً‫ممتاز‬ ‫ليس‬ ‫الرياضيات‬ ‫في‬ ‫مستواهم‬ ‫بأن‬ ‫متذرعين‬ ‫البرمجة‬ ‫تعلم‬ ‫في‬ ‫الكثيرون‬ ‫يتردد‬ ‫كم‬ ‫عملك‬ ‫أداء‬ ‫أثناء‬ ‫تعترضك‬ ‫أمور‬ ‫هنالك‬ ‫ال‬ ‫طويلة‬ ‫فترات‬ ‫عليك‬ ‫تمر‬ ‫قد‬ ‫ه‬َّ‫ن‬‫أ‬ ‫إال‬ ،‫الرياضيات‬ ‫في‬ ‫خبرة‬ ‫تتطلب‬ ‫برمج‬ ‫رياضية‬ ‫مسائل‬ ‫إلى‬ ‫فيها‬ ‫تحتاج‬ .
  2. ‫مشكلة‬ ‫أو‬ ‫مسألة‬ ‫أية‬ ‫اعتراضك‬ ‫حين‬ ‫إلى‬ .‫الجميع‬ ‫يعرفها‬ ‫التي‬ ‫األساسيات‬ ‫هو‬ ‫البرمجة‬ ‫تعلم‬ ‫في‬ ‫للبدء‬ ‫يلزمك‬ ‫ما‬ ‫كل‬ ‫والمراجع‬ ‫المصادر‬ ‫من‬ ‫الكثير‬ ‫هنالك‬ ،‫الرياضيات‬ ‫في‬ ‫مهارة‬ ‫تتطلب‬ ،‫أخرى‬ ‫بعبارة‬ .‫آنذاك‬ ‫إليها‬ ‫الرجوع‬ ‫تستطيع‬ ‫التي‬ ‫منطقي‬ ‫بشكل‬ ‫التفكير‬ ‫على‬ ‫ا‬ً‫قادر‬ ‫تكون‬ ‫أن‬ ‫هو‬ ‫ذلك‬ ‫من‬ ‫األهم‬ .‫تخف‬ ‫وال‬ ً ‫قليًل‬ ‫األمر‬ ‫هذا‬ ‫ل‬ ِّ‫أج‬ . ‫المنطقي‬ ‫التفكير‬ ‫مظلة‬ ‫تحت‬ ‫المبرمجين‬ ‫كافة‬ ‫تجمع‬ ‫التي‬ ‫المهارة‬ ‫هو‬ ‫المنطقي‬ ‫التفكير‬ ‫ت‬ ‫أن‬ ‫يجب‬ ‫إذ‬ ،‫الخوارزميات‬ ‫كتابة‬ ‫أساس‬ ‫وهي‬ ،‫واحدة‬ ‫على‬ ‫ا‬ً‫قادر‬ ‫كون‬ ‫وتطويرها‬ ‫المهارة‬ ‫هذه‬ ‫اكتساب‬ . ‫الخوارزميات‬ ‫فكل‬ ،‫البعض‬ ‫منها‬ ‫ينفر‬ ‫التي‬ ‫المرعبة‬ ‫الكلمة‬ ‫هي‬ "‫"الخوارزميات‬ ‫كلمة‬ ‫الطويلة‬ ‫والمعادالت‬ ‫المعقدة‬ ‫الرياضيات‬ ‫هو‬ ‫ذكرها‬ ‫عند‬ ‫يتخيلونه‬ ‫ما‬ ٌ‫تطبيق‬ ‫هي‬ ‫فالخوازرميات‬ ‫ًا؛‬‫د‬‫ج‬ ‫بسيط‬ ‫األمر‬ ‫لكن‬ ،‫العجيبة‬ ‫والرموز‬ ‫المنطق‬ ‫للتفكير‬ ‫ا‬ً‫م‬‫تما‬ ‫واضحة‬ ‫متسلسلة‬ ‫خطوات‬ ‫في‬ ‫ي‬ ‫مشكلة‬ ‫لحل‬ ‫ما‬ . ‫بكيفية‬ ‫سأخبرك‬ ،‫ًا‬‫د‬‫معق‬ ‫ا‬ً‫أمر‬ ‫ليست‬ ‫الخوارزميات‬ ‫أن‬ ‫لك‬ ‫ح‬ ِّ ‫أوض‬ ‫لكي‬ ‫الحالي‬ ‫عمره‬ ‫يعيد‬ ‫ثم‬ ،‫ميًلده‬ ‫سنة‬ ‫عن‬ ‫المستخدم‬ ‫يسأل‬ ‫برنامج‬ ‫كتابة‬ ‫بالسنوات‬ . • ‫من‬ ‫فيها‬ ‫نطلب‬ ‫نصية‬ ‫رسالة‬ ‫إظهار‬ :‫األولى‬ ‫الخطوة‬ ‫المستخدم‬ ‫ميًلده‬ ‫تاريخ‬ ‫إدخال‬ . • ‫المستخدم‬ ‫أدخلها‬ ‫التي‬ ‫الميًلد‬ ‫سنة‬ ‫تخزين‬ :‫الثانية‬ ‫الخطوة‬ . • ‫الحالية‬ ‫السنة‬ ‫على‬ ‫الحصول‬ :‫الثالثة‬ ‫الخطوة‬ . • ‫الحالية‬ ‫السنة‬ ‫من‬ ‫المستخدم‬ ‫مدخًلت‬ ‫طرح‬ :‫الرابعة‬ ‫الخطوة‬ . • ‫الناتج‬ ‫إظهار‬ :‫واألخيرة‬ ‫الخامسة‬ ‫الخطوة‬ . ‫بسيطة‬ ‫خوارزمية‬ ‫هو‬ ‫سبق‬ ‫ما‬ ‫إذا‬ ‫لكن‬ ،‫متسلسلة‬ ‫خطوات‬ ‫من‬ ‫تتألف‬ ‫من‬ ‫أكبر‬ ‫ا‬ً‫خ‬‫تاري‬ ‫المستخدم‬ ‫أدخل‬ ‫حال‬ ‫في‬ ً ‫خلًل‬ ‫سنجد‬ ‫فيها‬ ‫النظر‬ ‫أمعنا‬ ‫أدخل‬ ‫لو‬ ‫أي‬ ،‫الحالي‬ ‫التاريخ‬ 2050 ‫من‬ ً ‫بدال‬ ً ‫مثًل‬ 1995 ‫عندها‬ . ‫هذه‬ ‫نحل‬ ‫أن‬ ‫ويمكننا‬ ،‫ًا‬‫ب‬‫سال‬ ‫الخوارزمية‬ ‫من‬ ‫المعاد‬ ‫العمر‬ ‫سيصبح‬ ‫المستخدم‬ ‫يمنع‬ ‫شرط‬ ‫بوضع‬ ‫ًا‬‫ي‬‫منطق‬ ‫اإلشكالية‬ ‫من‬ ‫أكبر‬ ‫تاريخ‬ ‫إدخال‬ ‫من‬ ‫الحالي‬ ‫التاريخ‬ . ‫العمل‬ ‫إطارات‬ ‫العمل‬ ‫"إطارات‬ ‫هي‬ ‫البرمجة‬ ‫عالم‬ ‫في‬ ‫ًا‬‫د‬‫ج‬ ‫شائعة‬ ‫أخرى‬ ‫كلمة‬ " frameworks ‫من‬ ‫مجموعة‬ ‫هي‬ ‫العمل‬ ‫إطارات‬ ، ‫تسجيل‬ ‫مثل‬ ‫خدمات‬ ‫تقدم‬ ‫جاهزة‬ ‫وحدات‬ ‫بتوفير‬ ،‫التطبيقات‬ ‫إنشاء‬ ‫المبرمج‬ ‫على‬ ‫تسهل‬ ‫التي‬ ‫البرمجية‬ ‫الشيفرات‬ ،‫المستخدمين‬ ‫في‬ ‫تساعدك‬ ‫برمجية‬ ‫أدوات‬ ‫ها‬‫تعد‬ ‫أن‬ ‫يمكنك‬ ‫أي‬ .‫البيانات‬ ‫قواعد‬ ‫مع‬ ‫والتعامل‬ ،‫اإللكتروني‬ ‫البريد‬ ‫وإرسال‬ ‫ذلك‬ ‫فعل‬ ‫لك‬ ‫ل‬ِّ‫ه‬‫وتس‬ ‫تطبيقك‬ ‫برمجة‬ .
  3. ‫البرمجة‬ ‫تعلم‬ ‫في‬ ‫للبدء‬ ‫الًلزمة‬ ‫األدوات‬ ‫يمتلك‬ ‫أن‬ ‫وإنما‬ ،‫الحواسيب‬ ‫أفضل‬ ‫من‬ ‫يكون‬ ‫أن‬ ‫الضروري‬ ‫من‬ ‫(ليس‬ ‫جيدة‬ ‫بمواصفات‬ ٍ‫ب‬‫حاسو‬ ‫إلى‬ ‫تحتاج‬ ‫ًا‬‫د‬‫جي‬ ‫ا‬ً‫مقدار‬ ‫ًا‬‫د‬‫معتا‬ ‫نفسك‬ ‫ترى‬ ‫وما‬ ‫لك‬ ‫يحلو‬ ‫ما‬ ‫استعمل‬ ،‫معين‬ ‫تشغيل‬ ‫نظام‬ ‫أو‬ ‫معينة‬ ‫بمواصفات‬ ‫ننصح‬ ‫ال‬ .)‫العشوائية‬ ‫الذاكرة‬ ‫من‬ )‫ماك‬ ‫أو‬ ‫لينكس‬ ‫أو‬ ‫ويندوز‬ ‫كان‬ ً‫ء‬‫(سوا‬ ‫عليه‬ . ‫ا‬ ‫والمكتبات‬ ‫البرمجيات‬ ‫ولتنزيل‬ ،‫التعليمية‬ ‫المواد‬ ‫إلى‬ ‫للوصول‬ ‫باإلنترنت‬ ‫جيد‬ ٍ‫ل‬‫اتصا‬ ‫إلى‬ ‫ًا‬‫ض‬‫أي‬ ‫ستحتاج‬ ‫لًلزمة‬ ‫للتطوير‬ . ‫لها‬ ‫رئيسيان‬ ‫نوعان‬ ‫وهنالك‬ ،‫الشيفرات‬ ‫لكتابة‬ ‫برمجية‬ ‫إلى‬ ‫فستحتاج‬ ،‫التطوير‬ ‫أدوات‬ ‫بخصوص‬ ‫أما‬ : • ‫مثل‬ :‫النصية‬ ‫المحررات‬ Visual Studio Code ‫أو‬ Atom ‫أو‬ Sublime Text ‫أو‬ Bracktes ‫أو‬ . Notepad++ ‫ميزات‬ ‫وتوفر‬ ،‫أغلبها‬ ‫في‬ ‫بسيطة‬ ‫تكون‬ ‫النصية‬ ‫المحررات‬ ‫وهذه‬ ‫تلوين‬ ‫مثل‬ ‫أساسية‬ ‫المحررات‬ ‫هذه‬ ‫وظيفة‬ .‫وظائفها‬ ‫لزيادة‬ ‫إضافات‬ ‫أغلبيتها‬ ‫وتدعم‬ ،‫التلقائي‬ ‫اإلكمال‬ ‫ميزات‬ ‫وبعض‬ ،‫الشيفرات‬ ‫بتجربة‬ ‫ننصحك‬ .‫وسرعة‬ ‫بسهولة‬ ‫الشيفرات‬ ‫تعديل‬ ‫هي‬ ‫ا‬ً‫م‬‫عمو‬ ‫النصية‬ Visual Studio Code ‫لشهرته‬ ‫شركة‬ ‫من‬ ‫الممتاز‬ ‫ودعمه‬ ‫إضافاته‬ ‫وكثرة‬ ‫ًا‬‫ي‬‫حال‬ Microsoft. • ‫بيئا‬ ‫مثل‬ :‫المدمجة‬ ‫التطوير‬ ‫ت‬ Visual Studio ‫و‬ Eclipse ‫و‬ Android Studio ‫و‬ NetBeans ‫و‬ Apple Xcode ‫تشغيل‬ ‫مثل‬ ،‫النصية‬ ‫المحررات‬ ‫من‬ ‫بكثير‬ ‫أكثر‬ ‫ميزات‬ ‫توفر‬ ‫البيئات‬ ‫وهذه‬ .‫وغيرها‬ ‫وتنقيحها‬ ‫الشيفرات‬ (debugging) ‫ذلك‬ ‫وخًلف‬ ‫البيانات‬ ‫بقواعد‬ ‫واالتصال‬ ‫باإلصدارات‬ ‫التحكم‬ ‫وميزات‬ . ‫لما‬ ‫البرمجة؟‬ ‫لغات‬ ‫من‬ ‫العديد‬ ‫هناك‬ ‫ذا‬ ‫لغة‬ ‫هنالك‬ ‫يكون‬ ‫ال‬ ‫لماذا‬ ‫ذاته؟‬ ‫الهدف‬ ‫تنفذ‬ ‫كلها‬ ‫اللغات‬ ‫هذه‬ ‫أليست‬ ‫البرمجة؟‬ ‫لغات‬ ‫من‬ ‫العديد‬ ‫هناك‬ ‫لماذا‬ ،‫تتساءل‬ ‫قد‬ ‫والحاسوب؟‬ ‫المبرمجين‬ ‫بين‬ ‫موحدة‬ ‫ا‬ .‫الصورة‬ ‫في‬ ‫أمامك‬ ‫تراها‬ ‫التي‬ ‫اللغات‬ ‫إحدى‬ ‫ليست‬ ‫ولكن‬ ‫واحدة‬ ‫برمجة‬ ‫لغة‬ ‫توجد‬ ‫ه‬‫أن‬ ‫الحقيقة‬ ‫هي‬ ‫إليها‬ ‫نشير‬ ‫التي‬ ‫للغة‬ ‫منها‬ ‫ا‬ً‫ع‬‫مقط‬ ‫إليك‬ ‫تبدو؟‬ ‫وكيف‬ ‫اآللة‬ ‫لغة‬ ‫هي‬ ‫ما‬ ‫أتتساءل‬ .‫وفهمها‬ ‫قراءتها‬ ‫الحاسوب‬ ‫معالج‬ ‫يستطيع‬ ‫التي‬ "‫اآللة‬ ‫"لغة‬ : ‫والو‬ ‫األصفار‬ ‫سوى‬ ‫ا‬ً‫ئ‬‫شي‬ ‫يفهم‬ ‫ال‬ ‫الحاسوب‬ ‫معالج‬ ‫أن‬ ٌ‫م‬‫معلو‬ ‫ا‬ ‫اللغة‬ ‫وهذه‬ ،‫حدات‬ - ‫اآللة‬ ‫لغة‬ ‫أي‬ - ‫لألصفار‬ ‫تمثيل‬ ‫هي‬ ‫والواحدات‬ ‫حتى‬ ‫إذ‬ ،‫البشر‬ ‫على‬ ‫الفهم‬ ‫عصية‬ ‫اللغة‬ ‫هذه‬ ‫أن‬ ‫بالذكر‬ ‫الجدير‬ .‫فعله‬ ‫عليه‬ ‫يجب‬ ‫بما‬ ‫الحاسوب‬ ‫تخبر‬ ‫بطريقة‬ ‫لن‬ ،)‫الحاسوب‬ ‫اختراع‬ ‫بداية‬ ‫من‬ ‫األولى‬ ‫السنوات‬ ‫في‬ ‫(كما‬ ‫بالصورة‬ ‫الموضحة‬ ‫الشيفرة‬ ‫مثل‬ ‫شيفرة‬ ‫كتابة‬ ‫استطعت‬ ‫إن‬ ‫وتطويرها‬ ‫الشيفرة‬ ‫على‬ ‫التعديل‬ ‫أحد‬ ‫يستطيع‬ ‫ولن‬ ‫اآلخرون‬ ‫يفهمها‬ ‫باستثنائك‬ ‫ا‬ً‫ق‬‫الح‬ .
  4. ‫ولغات‬ ،‫المستوى‬ ‫منخفضة‬ ‫البرمجة‬ ‫لغات‬ :‫قسمين‬ ‫إلى‬ ‫البرمجية‬ ‫لغات‬ ‫انقسمت‬ ،‫البشر‬ ‫لغة‬ ‫من‬ ‫قريبة‬ ‫لغة‬ ‫إليجاد‬ ‫ًا‬‫ي‬‫سع‬ ‫منخفضة‬ ‫البرمجة‬ ‫لغات‬ ‫أن‬ ‫أي‬ .‫التوالي‬ ‫على‬ ‫البشر‬ ‫لغة‬ ‫أو‬ ‫اآللة‬ ‫لغة‬ ‫من‬ ‫قربها‬ ‫لمدى‬ ‫ا‬ً‫ع‬‫تب‬ ‫وذلك‬ ‫المستوى‬ ‫عالية‬ ‫البرمجة‬ ‫األقرب‬ ‫اللغات‬ ‫هي‬ ‫المستوى‬ ‫األقرب‬ ‫اللغات‬ ‫هي‬ ‫المستوى‬ ‫عالية‬ ‫البرمجة‬ ‫ولغات‬ ،‫التجميع‬ ‫لغة‬ ‫مثل‬ ‫الذكر‬ ‫آنفة‬ ‫اآللة‬ ‫للغة‬ ‫لغة‬ ‫مثل‬ ‫البشر‬ ‫للغة‬ ‫بايثون‬ ‫وجافا‬ . ‫المستوى‬ ‫عالية‬ ‫برمجة‬ ‫بلغات‬ ‫المكتوبة‬ ‫البرامج‬ ‫تنفيذ‬ ‫عالية‬ ‫اللغات‬ ‫عن‬ ‫الحديث‬ ‫للشيفرة‬ ‫المعالج‬ ‫تنفيذ‬ ‫كيفية‬ ‫عن‬ ‫الحديث‬ ‫إلى‬ ‫يقودنا‬ ‫المستوى‬ ‫منخفضة‬ ‫واللغات‬ ‫المستوى‬ )‫اآلن؟‬ ‫به‬ ‫تفكر‬ ‫ما‬ ‫هذا‬ ‫(أليس‬ ‫المعالج‬ ‫يفهمها‬ ‫ال‬ ‫المستوى‬ ‫عالية‬ ‫بلغة‬ ‫المكتوبة‬ . ‫العم‬ ‫هذه‬ ُ‫ل‬َ‫ث‬َ‫م‬ ‫إذ‬ ،)‫اآللة‬ ‫(لغة‬ ‫المستوى‬ ‫منخفضة‬ ‫بلغة‬ ‫المكتوبة‬ ‫والتعليمات‬ ‫األوامر‬ ‫يفهم‬ ‫المعالج‬ ‫أن‬ ‫عرفنا‬ ِّ‫ل‬َ‫ث‬َ‫م‬‫ك‬ ‫لية‬ ً‫ة‬‫مباشر‬ ‫التواصل‬ ‫لهما‬ ‫يمكن‬ ‫إذ‬ ،‫العربية‬ ‫باللغة‬ ٍ‫ق‬‫ناط‬ ‫مع‬ ‫التحدث‬ ‫وبدأ‬ ‫العربية‬ ‫اللغة‬ ‫تعلم‬ ‫أجنبي‬ ٍ ‫شخص‬ - ‫منها‬ ‫كل‬ ‫ليخبر‬ ‫فعله‬ ‫اآلخر‬ ‫من‬ ‫يريد‬ ‫ما‬ - ‫من‬ ‫والطلب‬ ‫البشر‬ ‫لغة‬ ‫إلى‬ ‫أقرب‬ ‫المستوى‬ ‫عالية‬ ‫بلغة‬ ‫برنامج‬ ‫كتابة‬ ُ‫ل‬َ‫ث‬َ‫م‬ ‫ا‬َّ‫م‬‫أ‬ .‫وسيط‬ ‫دون‬ ‫ناطق‬ ‫كمثل‬ ‫تنفيذه‬ ‫الحاسوب‬ ‫في‬ .‫اآلخر‬ ‫لغة‬ ‫أحدهما‬ ‫يفقه‬ ‫أن‬ ‫دون‬ ‫العربية‬ ‫باللغة‬ ‫ناطق‬ ‫مع‬ ‫التخاطب‬ ‫يريد‬ ‫الهندية‬ ‫باللغة‬ ‫ا‬ً‫م‬‫مترج‬ ‫يحضران‬ ‫ال‬ ‫لماذا‬ :‫تقول‬ ‫قد‬ .‫التواصل‬ ‫عملية‬ ‫وستفشل‬ ‫اآلخر‬ ‫به‬ ‫يتكلم‬ ‫ما‬ ‫فهم‬ ‫أحدهما‬ ‫يستطيع‬ ‫لن‬ ،‫الحالة‬ ‫هذه‬ ‫يرا‬ ‫عندما‬ ‫ا‬ً‫م‬‫تما‬ ‫يحصل‬ ‫ما‬ ‫هذا‬ ،‫ا‬ً‫ن‬‫حس‬ ‫لآلخر؟‬ ‫منها‬ ‫كل‬ ‫يقوله‬ ‫ما‬ ‫يترجم‬ ‫الحاسوب‬ ‫معالج‬ ‫يفهمها‬ ‫ال‬ ‫بلغة‬ ‫برنامج‬ ‫تنفيذ‬ ‫د‬ . ،‫البرمجة‬ ‫لغات‬ ‫في‬ ‫أما‬ ‫آخرى؛‬ ‫إلى‬ ‫لغة‬ ‫من‬ ‫للترجمة‬ ‫الجميع‬ ‫يعرفه‬ ‫المترجمين‬ ‫من‬ ‫واحد‬ ‫نوع‬ ‫هنالك‬ ،‫البشرية‬ ‫اللغات‬ ‫في‬ ،‫ذلك‬ ‫على‬ ً‫ء‬‫بنا‬ .‫والمترجم‬ ،‫المفسر‬ :‫هما‬ ‫اللغات‬ ‫بين‬ ‫المترجمين‬ ‫من‬ ‫نوعان‬ ‫هنالك‬ ‫مف‬ ‫لغات‬ ‫إلى‬ ‫البرمجة‬ ‫لغات‬ ‫تنقسم‬ .‫مترجمة‬ ‫ولغات‬ ‫سرة‬ ).‫المستوى‬ ‫عالية‬ ‫البرمجة‬ ‫لغات‬ ‫إلى‬ ‫نشير‬ ‫فنحن‬ ،‫البرمجة‬ ‫لغات‬ ‫ذكرنا‬ ‫كلما‬ ،‫ًا‬‫د‬‫وصاع‬ ‫اآلن‬ ‫(من‬ • ‫المفسر‬ (interpreter): ‫المستوى‬ ‫عالية‬ ‫بلغة‬ ‫مكتوب‬ ‫لبرنامج‬ ‫المصدرية‬ ‫الشيفرة‬ ‫ر‬ِّ‫س‬‫يف‬ ٌ‫خاص‬ ‫برنامج‬ ‫وهو‬ ‫الحاسو‬ ‫لينفذها‬ ‫المستوى‬ ‫منخفضة‬ ‫لغة‬ ‫إلى‬ ‫ويحولها‬ ‫بسطر‬ ‫ا‬ً‫سطر‬ ً‫ة‬‫مباشر‬ ‫ب‬ . • ‫المترجم‬ (compiler): ‫المستوى‬ ‫عالية‬ ‫بلغة‬ ‫مكتوب‬ ‫لبرنامج‬ ‫المصدرية‬ ‫الملفات‬ ‫ل‬ِّ‫و‬‫يح‬ ٌ‫خاص‬ ‫برنامج‬ ‫وهو‬ ‫بالمهمة‬ ‫للقيام‬ ‫الحاسوب‬ ‫على‬ ‫التنفيذي‬ ‫الملف‬ ‫تشغيل‬ ‫يمكن‬ ‫ثم‬ ،ً‫ة‬‫واحد‬ ً‫ة‬‫دفع‬ ‫اآللة‬ ‫بلغة‬ ‫مكتوب‬ ‫تنفيذي‬ ‫ملف‬ ‫إلى‬ ‫المطلوبة‬ . ‫عالية‬ ‫البرمجة‬ ‫لغات‬ ‫من‬ ‫الكثير‬ ‫يوجد‬ ‫لماذا‬ ‫المستوى؟‬ ‫المستوى‬ ‫عالية‬ ‫البرمجية‬ ‫اللغات‬ ‫كثرة‬ ‫عن‬ ‫تتساءل‬ ‫زلت‬ ‫ما‬ ‫ما‬‫لرب‬ ،‫البشر‬ ‫ولغة‬ ‫اآللة‬ ‫لغة‬ ‫بين‬ ‫الفرق‬ ‫عرفت‬ ‫أن‬ ‫وبعد‬ ‫اآلن‬ ‫جواب‬ .‫دقة‬ ‫أكثر‬ ‫اآلن‬ ‫أصبحت‬ ‫إذ‬ ‫لألمام‬ ً‫ة‬‫جيد‬ ً‫ة‬‫خطو‬ ‫خطوت‬ ‫أنك‬ ‫القول‬ ‫نستطيع‬ .‫واحدة‬ ‫لغة‬ ‫وجود‬ ‫وعدم‬ ‫المتوافرة‬ ‫البرمجة‬ ‫لغات‬ ‫كل‬ ‫أن‬ ‫هو‬ ‫سؤلك‬ ‫سبيل‬ ‫فعلى‬ .‫ينفذها‬ ‫أن‬ ‫للحاسوب‬ ‫يمكن‬ ‫أوامر‬ ‫سلسلة‬ ‫إلى‬ ‫منطقية‬ ‫فكرة‬ ‫لتحويل‬ ‫ستخدم‬ُ‫ت‬ ‫من‬ ‫أي‬ ‫استخدام‬ ‫يمكنك‬ ‫الحصر‬ ‫ال‬ ‫المثال‬ Ruby ‫أو‬ Java ‫أو‬ Python ‫أو‬ C# ‫أو‬ Go ‫أو‬ JavaScript ‫لبناء‬ ‫أ‬ ‫عن‬ ‫ا‬ً‫ن‬‫دو‬ ‫مهمة‬ ‫ل‬‫تسه‬ ‫أداة‬ ‫وكل‬ ،‫أدوات‬ ‫أنها‬ ‫على‬ ‫البرمجة‬ ‫لغات‬ ‫تعد‬ ‫أن‬ ‫يمكنك‬ ‫لكن‬ .‫ويب‬ ‫موقع‬ ‫سبيل‬ ‫فعلى‬ .‫خرى‬ ‫تذهب‬ ‫أن‬ ‫يمكنك‬ ‫فًل‬ ‫االستخدام؛‬ ‫مختلفة‬ ‫لكنها‬ ،‫نقل‬ ‫وسائط‬ ‫كلها‬ ‫الزراعي‬ ‫والمحراث‬ ‫والدراجة‬ ‫والحافلة‬ ‫السيارة‬ ،‫المثال‬
  5. ‫مكتظة‬ ‫مدينة‬ ‫في‬ ‫سباق‬ ‫سيارة‬ ‫استخدام‬ ‫يمكنك‬ ‫ال‬ ‫كما‬ ،‫الزراعي‬ ‫المحراث‬ ‫مستخدمين‬ ‫صيفية‬ ‫إجازة‬ ‫لقضاء‬ ‫وعائلتك‬ ‫الع‬ ‫إلى‬ ‫بها‬ ‫للذهاب‬ ‫ضيقة‬ ‫شوارع‬ ‫ذات‬ ‫البرمجة‬ ‫إلى‬ ‫بالنسبة‬ ٌ‫سيان‬ ‫واألمر‬ .‫متشابهة‬ ‫المركبات‬ ‫هذه‬ ‫عمل‬ ‫آلية‬ ‫أن‬ ‫مع‬ .‫مل‬ . ‫تطبيقات‬ ‫بإنشاء‬ ‫متخصصة‬ ‫وأخرى‬ ،‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫بإنشاء‬ ‫متخصصة‬ ‫برمجة‬ ‫لغات‬ ‫هنالك‬ ‫أن‬ ‫القول‬ ‫خًلصة‬ ‫الحد‬ ‫إلى‬ ‫يحيلنا‬ ‫ما‬ ‫وهذا‬ ،‫العتاد‬ ‫لبرمجة‬ ‫وأخرى‬ ،‫الويب‬ ‫لمواقع‬ ‫ا‬ً‫ص‬‫خصي‬ ‫تستعمل‬ ‫وأخرى‬ ،‫الجوال‬ ‫مجاالت‬ ‫عن‬ ‫يث‬ ‫منها‬ ٍ‫ل‬‫لك‬ ‫األنسب‬ ‫واللغات‬ ‫البرمجة‬ . ‫البرمجة‬ ‫مفاهيم‬ " ‫ا؟‬ً‫ذ‬‫إ‬ ‫البرمجة‬ ‫تعلم‬ ‫في‬ ‫طريقي‬ ‫أبدأ‬ ‫أين‬ ‫من‬ ،‫أتخيل‬ ُ‫كنت‬ ‫كما‬ ‫صعبة‬ ‫وليست‬ ‫لي‬ ‫مناسبة‬ ‫البرمجة‬ ‫أن‬ ُ‫اقتنعت‬ ،‫ا‬ً‫ن‬‫حس‬ " ‫سنتحدث‬ ‫ثم‬ ،‫بالبرمجة‬ ‫الخاصة‬ ‫المفاهيم‬ ‫بعض‬ ‫لك‬ ‫ألشرح‬ ‫وقتي‬ ‫سآخذ‬ ،‫السابق‬ ‫السؤال‬ ‫عن‬ ‫اإلجابة‬ ‫قبل‬ ‫مجاالت‬ ‫عن‬ ‫منها‬ ً ‫كًل‬ ‫لتعلمك‬ ‫األفضل‬ ‫المسار‬ ‫وما‬ ‫فيها‬ ‫العمل‬ . ‫الحاسوب‬ ‫يفهمها‬ ‫بلغة‬ ‫مكتوب‬ ‫نفسه‬ ‫والبرنامج‬ ،‫ما‬ ‫مشكلة‬ ‫لحل‬ ‫الحاسوب‬ ‫ينفذها‬ ‫أوامر‬ ‫سلسلة‬ ‫هو‬ ‫البرنامج‬ ‫أن‬ ‫تعلم‬ ‫أنت‬ ‫اآللة‬ ‫لغة‬ ‫تسمى‬ . ‫البر‬ ‫تعلم‬ ‫بداية‬ ‫أثناء‬ ‫ذاتها‬ ‫البرمجة‬ ‫لغة‬ ‫على‬ ‫ا‬ً‫كثير‬ ‫التركيز‬ ‫الملحوظة‬ ‫األمور‬ ‫من‬ ‫"لغة‬ :ً‫ة‬‫صادم‬ ً‫ة‬‫حقيق‬ ‫سأخبرك‬ .‫مجة‬ ‫ستعمل‬ُ‫ت‬ ‫أو‬ ‫متماثلة‬ ‫البرمجة‬ ‫لغات‬ ‫جميع‬ ‫أن‬ ‫لك‬ ‫أقول‬ ‫ال‬ ‫أنا‬ ،"‫تتوقعها‬ ‫التي‬ ‫األهمية‬ ‫بتلك‬ ‫ليست‬ ‫تستعملها‬ ‫التي‬ ‫البرمجة‬ ‫تقف‬ ‫التي‬ ‫البرمجية‬ ‫المفاهيم‬ ‫وتهمل‬ ‫ما‬ ‫برمجة‬ ‫لغة‬ ‫في‬ ‫الكتابة‬ ‫كيفية‬ ‫تعلم‬ ‫على‬ ‫ا‬ً‫كثير‬ ‫ز‬ِّ‫ك‬‫تر‬ ‫ال‬ ‫لكن‬ ،‫االستعماالت‬ ‫لنفس‬ ‫ورا‬ ‫ءها‬ . ‫والثوابت‬ ‫المتغيرات‬ ‫المتغيرات‬ ‫مفهوم‬ ‫على‬ ‫تتعرف‬ ‫أن‬ ‫عليك‬ variables ‫ما‬ ‫قيمة‬ ‫إسناد‬ ‫يعني‬ ‫والذي‬ ،‫البرمجة‬ ‫لغات‬ ‫جميع‬ ‫في‬ ‫المستعمل‬ ‫العبارة‬ ‫نخزن‬ ‫أن‬ ‫أردنا‬ ‫فلو‬ .‫الذاكرة‬ ‫في‬ ‫القيمة‬ ‫هذه‬ ‫وتخزين‬ ‫كلمة‬ ‫أو‬ ‫رمز‬ ‫إلى‬ "Hello World" ‫فنكتب‬ ‫ما‬ ‫متغير‬ ‫في‬ ‫يلي‬ ‫بما‬ ‫ا‬ً‫ه‬‫شبي‬ ‫ا‬ً‫ئ‬‫شي‬ : ; "Hello World" = variable_name var ‫المساواة‬ ‫إشارة‬ ‫يسار‬ ‫على‬ ‫المذكور‬ ‫المتغير‬ ‫إلى‬ ‫المساواة‬ ‫إشارة‬ ‫يمين‬ ‫على‬ ‫الموجود‬ ‫الجزء‬ ‫نسند‬ ‫أننا‬ ‫أي‬ . ‫الملف‬ ‫من‬ ‫ما‬ ٍ‫مكان‬ ‫في‬ ‫فيمكننا‬ ،‫البرنامج‬ ‫تنفيذ‬ ‫خًلل‬ ‫للتغيير‬ ‫قابلة‬ ‫قيمتها‬ ‫أن‬ "‫"المتغيرات‬ ‫اسم‬ ‫من‬ ‫نستنتج‬ ‫أن‬ ‫يمكننا‬ ‫تع‬ ‫نعيد‬ ‫أن‬ ‫المصدري‬ ‫بكتابة‬ ‫السابق‬ ‫المتغير‬ ‫ريف‬ : ; "New value" = variable_name var ‫أول‬ ‫تعريفها‬ ‫بعد‬ ‫قيمتها‬ ‫تعريف‬ ‫إعادة‬ ‫تستطيع‬ ‫ال‬ ‫أنك‬ ‫إال‬ ،‫النواحي‬ ‫من‬ ٍ ‫كثير‬ ‫في‬ ‫المتغيرات‬ ‫مع‬ ‫تتشابه‬ ‫فهي‬ ‫الثوابت‬ ‫أما‬ ‫فترة‬ ‫خًلل‬ ‫القيمة‬ ‫تغيير‬ ‫عدم‬ ‫من‬ ‫ا‬ً‫م‬‫تما‬ ‫ًا‬‫د‬‫متأك‬ ‫تكون‬ ‫عندما‬ ‫الثوابت‬ ‫من‬ ‫تستفيد‬ ‫قد‬ .‫مرة‬ ‫تعريف‬ ‫أردنا‬ ‫فلو‬ .‫البرنامج‬ ‫تنفيذ‬ ‫اسمه‬ ‫ثابت‬ pi ‫القيمة‬ ‫على‬ ‫يحتوي‬ 3.14 ‫نكتب‬ ‫أن‬ ‫فيمكننا‬ ،)‫ا‬ً‫ق‬‫مطل‬ ‫تتغير‬ ‫لن‬ ‫أنها‬ ‫سنعرف‬ ‫(والتي‬ : ; 3.14 = pi const ‫خطأ‬ ‫رسالة‬ ‫على‬ ‫فستحصل‬ ‫تعريفه‬ ‫بعد‬ ‫الثابت‬ ‫قيمة‬ ‫تغيير‬ َ‫حاولت‬ ‫وإذا‬ . ‫الشروط‬ ‫في‬ ‫ذ‬َّ‫ف‬‫ن‬ُ‫ت‬ ‫شروط‬ ‫تعريف‬ ‫البرمجة‬ ‫لغات‬ ‫جميع‬ ‫تدعم‬ ‫حساب‬ ‫فيها‬ ‫شرحنا‬ ‫التي‬ ‫السابقة‬ ‫الخوازرمية‬ ‫ففي‬ .‫معينة‬ ‫حاالت‬ ‫يلي‬ ‫كما‬ ‫بالعربية‬ ‫الشرط‬ ‫نكتب‬ ‫أن‬ ‫يمكننا‬ ،‫العمر‬ : • ‫خطأ‬ ‫هنالك‬ ‫أن‬ ‫للمستخدم‬ ‫نقول‬ :)‫الحالي‬ ‫التاريخ‬ ‫من‬ ‫أكبر‬ ‫الميًلد‬ ‫(تاريخ‬ ‫كان‬ ‫إذا‬ • ‫الحالي‬ ‫التاريخ‬ ‫من‬ ‫الميًلد‬ ‫تاريخ‬ ‫بطرح‬ ‫العمر‬ ‫سنحسب‬ :‫وإال‬ ‫بإحد‬ ‫كتابتها‬ ‫أردنا‬ ‫وإذا‬ ‫يلي‬ ‫بما‬ ً‫ة‬‫شبيه‬ ‫فستبدو‬ ‫البرمجة‬ ‫لغات‬ ‫ى‬ : { ) current_year > user_birth ( if
  6. // ERROR! { else } ; user_birth - current_year = age } ‫ًا‬‫ي‬‫حال‬ ‫اهتمامنا‬ ‫موضع‬ ‫وليست‬ ،‫ألخرى‬ ‫لغة‬ ‫من‬ ‫تختلف‬ ‫وقد‬ ،‫البرمجة‬ ‫لغة‬ ‫من‬ ‫جزء‬ ‫فهي‬ ، ً ‫باال‬ ‫لألقواس‬ ِّ‫ق‬‫تل‬ ‫ال‬ . ‫التكرار‬ ‫حلقات‬ ‫لو‬ ‫ماذا‬ ‫ًا‬‫ي‬‫يدو‬ ‫التواريخ‬ ‫سنأخذ‬ ‫لي‬ ‫تقل‬ ‫ال‬ .‫ميًلد‬ ‫تاريخ‬ ‫مستخدم‬ ‫ولكل‬ ‫مستخدم‬ ‫من‬ ‫أكثر‬ ‫فيها‬ ‫بيانات‬ ‫قاعدة‬ ‫لدينا‬ ‫كانت‬ ‫بكل‬ ‫الخاص‬ ‫الميًلد‬ ‫تاريخ‬ ‫قيمة‬ ‫تأخذ‬ ‫تكرار‬ ‫حلقة‬ ‫إنشاء‬ ‫هو‬ ‫والصواب‬ ،‫للوقت‬ ٌ‫مضيعة‬ ‫هذا‬ !‫البرنامج‬ ‫إلى‬ ‫وندخلها‬ ‫السابق‬ ‫القسم‬ ‫في‬ ‫أسلفنا‬ ‫كما‬ ‫عمره‬ ‫تحسب‬ ‫ثم‬ ‫مستخدم‬ . ‫دعنا‬ ‫فيها‬ ‫ا‬ً‫تكرار‬ ‫لنضيف‬ ‫البسيطة‬ ‫الخوارزمية‬ ‫نعدل‬ : ‫تحسبها‬ ‫أن‬ ‫زر‬ ‫بضغطة‬ ‫يمكنك‬ ،‫أعمارهم‬ ‫حساب‬ ‫عليك‬ ‫وكان‬ ،‫مستخدم‬ ‫ألف‬ ‫عندك‬ ‫كان‬ ‫لو‬ ‫تخيل‬ !‫البرمجة‬ ‫أجمل‬ ‫ما‬ ‫كلها‬ .
  7. ‫الدوال‬ ‫الدالة‬ function ‫تكون‬ .‫المطلوبة‬ ‫القيمة‬ ‫وتعيد‬ ‫مدخًلت‬ ‫تقبل‬ ‫التي‬ ‫البرمجية‬ ‫التعليمات‬ ‫من‬ ‫مجموعة‬ ‫هي‬ ‫الدوال‬ ً‫ة‬‫عاد‬ ‫باسم‬ ‫دالة‬ ‫تعريف‬ ‫أردنا‬ ‫لو‬ ً ‫فمثًل‬ .‫فقط‬ ‫وحيدة‬ ‫بمهمة‬ ‫وتقوم‬ ً‫ة‬‫قصير‬ divide ‫الكبير‬ ‫العدد‬ ‫قسمة‬ ‫ناتج‬ ‫وتعيد‬ ،‫عددين‬ ‫تقبل‬ ‫اآلتية‬ ‫الخورزمية‬ ‫نكتب‬ ‫أن‬ ‫فيمكننا‬ ،‫الصغير‬ ‫على‬ : ‫للمبتدئين‬ ‫البرمجة‬ ‫تعلم‬ ‫مصادر‬ ‫البر‬ ‫تعلم‬ ‫قرارك‬ ‫بعد‬ ‫ذهنك‬ ‫إلى‬ ‫سيتبادر‬ ‫ما‬ ‫أول‬ ‫في‬ ‫المتكامل‬ ‫التعليمي‬ ‫القسم‬ ‫دور‬ ‫يأتي‬ ‫هنا‬ ‫سأتعلم؟‬ ‫أين‬ ‫من‬ ‫هو‬ ‫مجة‬ ‫ومبسط‬ ‫مميز‬ ‫علمي‬ ‫محتوى‬ )‫سواء‬ ٍ‫د‬‫ح‬ ‫على‬ ‫(والمحترف‬ ‫للمبتدئ‬ ‫ليقدم‬ ‫حسوب‬ . ،‫المستويات‬ ‫كافة‬ ‫على‬ ‫أي‬ ‫الخبيرين‬ ‫وحتى‬ ‫للمبتدئين‬ ‫البرمجة‬ ‫تعلم‬ ‫عن‬ ‫البرمجي‬ ‫بالمحتوى‬ ‫حسوب‬ ‫أكاديمية‬ ‫تزخر‬ ‫تشرح‬ ‫ا‬ً‫م‬‫أقسا‬ ‫فيها‬ ‫ستجد‬ ‫سؤالك‬ ‫فيه‬ ‫تطرح‬ ‫أن‬ ‫يمكنك‬ ‫التي‬ ‫البرمجية‬ ‫لألسئلة‬ ‫قسم‬ ‫ولدينا‬ .‫كلها‬ ‫وتقنياتها‬ ‫البرمجة‬ ‫لغات‬ ‫التي‬ ‫المتخصصة‬ ‫للدورات‬ ‫ا‬ً‫م‬‫قس‬ ‫توفر‬ ‫األكاديمية‬ ‫أن‬ ‫ذلك‬ ‫إلى‬ ‫أضف‬ .‫حسوب‬ ‫أكاديمية‬ ‫مجتمع‬ ‫أفراد‬ ‫أحد‬ ‫عليه‬ ‫وسيجيب‬
  8. ‫م‬ ‫كادر‬ ‫مع‬ ‫تعلمها‬ ‫تريد‬ ‫التي‬ ‫البرمجة‬ ‫لغة‬ ‫احتراف‬ ‫وحتى‬ ‫الصفر‬ ‫من‬ ‫معك‬ ‫تبدأ‬ ‫لك‬ ‫يقدمون‬ ‫الذي‬ ‫المختصين‬ ‫المدربين‬ ‫ن‬ ‫استفساراتك‬ ‫جميع‬ ‫عن‬ ‫ويجيبون‬ ‫المساعدة‬ . ‫وهنالك‬ ‫يوتيوب‬ ‫على‬ ‫لألكاديمية‬ ‫قناة‬ ‫و‬ ‫البرمجة‬ ‫ومفاهيم‬ ‫محددة‬ ‫تساؤالت‬ ‫عن‬ ً‫ة‬‫قصير‬ ‫ا‬ً‫س‬‫درو‬ ‫ًا‬‫ي‬‫دور‬ ‫فيها‬ ‫ننشر‬ ‫ال‬ .‫خًلفه‬ ‫الجديدة‬ ‫الفيديوهات‬ ‫لتصلك‬ ‫األكاديمية‬ ‫قناة‬ ‫في‬ ‫االشتراك‬ َ‫تنس‬ . ‫هنا‬ ‫تأتي‬ ‫نة؟‬‫معي‬ ‫لغة‬ ‫في‬ ‫أكثر‬ ‫التعمق‬ َ‫أردت‬ ‫لو‬ ‫ماذا‬ ‫حسوب‬ ‫موسوعة‬ ،‫الجودة‬ ‫وعالي‬ ً ‫كامًل‬ ‫ًا‬‫ي‬‫عرب‬ ‫ا‬ً‫ق‬‫توثي‬ ‫ر‬ِّ‫ف‬‫تو‬ ‫التي‬ ‫لمختلف‬ ‫باألمثلة‬ ‫ا‬ً‫م‬‫مدع‬ ‫في‬ ‫إليه‬ ‫تعود‬ ‫ا‬ً‫ع‬‫مرج‬ ‫الموسوعة‬ ‫ستكون‬ .‫والجوال‬ ‫الويب‬ ‫تطوير‬ ‫وتقنيات‬ ‫البرمجة‬ ‫لغات‬ ‫في‬ ‫شيء‬ ‫كل‬ ‫لحفظ‬ ‫ا‬ً‫مضطر‬ ‫لست‬ ‫فأنت‬ .‫البرمجة‬ ‫لغات‬ ‫عن‬ ‫الدقيقة‬ ‫التفاصيل‬ ‫لمعرفة‬ ‫بها‬ ‫وتستعين‬ ،‫البرمجية‬ ‫مسيرتك‬ ‫الف‬ ‫بين‬ ‫التوثيقات‬ ‫إلى‬ ‫يعودون‬ ‫الخبرة‬ ‫ذوي‬ ‫المختصين‬ ‫المبرمجين‬ ‫حتى‬ ‫إذ‬ ،‫البرمجة‬ ‫لغة‬ ‫عملهم‬ ‫أثناء‬ ‫واألخرى‬ ‫ينة‬ . ‫فيها‬ ‫المستعملة‬ ‫والتقنيات‬ ‫اللغات‬ ‫وما‬ ‫األساسية‬ ‫البرمجة‬ ‫مجاالت‬ ‫عن‬ ‫للتحدث‬ ‫اآلن‬ ‫لننطلق‬ . ‫المستخدم‬ ‫واجهات‬ ‫تطوير‬ ‫تطوير‬ ‫مجال‬ ‫لدخول‬ ‫قرارهم‬ ‫اتخاذ‬ ‫عند‬ ‫المستخدم‬ ‫واجهات‬ ‫تطوير‬ ‫تعلم‬ ‫خًلل‬ ‫من‬ ‫مشوارهم‬ ‫المطورين‬ ‫أغلبية‬ ‫يبدأ‬ ‫لس‬ ‫وذلك‬ ،‫الويب‬ ‫مواقع‬ ‫وبرمجة‬ ‫المجال‬ ‫هذا‬ ‫في‬ ‫المستعملة‬ ‫اللغات‬ ‫هولة‬ . ‫تراها‬ ‫التي‬ ‫الصفحات‬ ‫وهي‬ ،‫الويب‬ ‫مواقع‬ ‫مختلف‬ ‫محتوى‬ ‫تعرض‬ ‫التي‬ ‫الويب‬ ‫صفحات‬ ‫تطوير‬ ‫هو‬ ‫المجال‬ ‫هذا‬ ‫هدف‬ ‫آخر‬ ‫موقع‬ ‫أي‬ ‫أو‬ ‫مستقل‬ ‫أو‬ ‫حسوب‬ ‫موسوعة‬ ‫أو‬ ‫حسوب‬ ‫أكاديمية‬ ‫لموقع‬ ‫زيارتك‬ ‫عند‬ . ‫ال‬ ‫هذه‬ ‫َب‬‫ت‬‫ك‬ُ‫ت‬‫و‬ ،‫المكونات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫الويب‬ ‫صفحة‬ ‫تتألف‬ ‫لغة‬ ‫باستخدام‬ ‫مكونات‬ HTML ‫البنية‬ ‫كتابة‬ ‫وبعد‬ ، ‫لغة‬ ‫باستخدام‬ ‫تنسيقها‬ ‫على‬ ‫سنأتي‬ ‫للصفحة‬ ‫الهيكلية‬ CSS ‫عناصر‬ ‫على‬ ‫وهيئة‬ ‫شكل‬ ‫إلضفاء‬ ‫المستعملة‬ ‫اللغة‬ ‫وهي‬ ، HTML. ‫عناصر‬ ‫أن‬ ‫أي‬ HTML ‫والفقرات‬ ‫الرئيسي‬ ‫والمحتوى‬ ‫والقوائم‬ ‫الترويسات‬ ‫(مثل‬ ‫الصفحة‬ ‫محتوى‬ ‫تصف‬ ‫وقواعد‬ ،)‫والفيدوهات‬ ‫والصور‬ ‫والروابط‬ CSS ‫أو‬ ‫األلوان‬ ‫ناحية‬ ‫من‬ ً‫ء‬‫(سوا‬ ‫العناصر‬ ‫هذه‬ ‫تبدو‬ ‫أن‬ ‫يجب‬ ‫كيف‬ ‫ف‬ ِّ ‫عر‬ُ‫ت‬ )‫ذلك‬ ‫خًلف‬ ‫أو‬ ‫الخطوط‬ ‫أو‬ ‫الخلفيات‬ ‫أو‬ ‫المساحات‬ . ‫لغة‬ ‫تأتي‬ JavaScript ‫إل‬ ‫وتستعمل‬ ‫لهما‬ ً‫ة‬‫مكمل‬ ‫متحرك‬ ‫شريط‬ ‫مثل‬ ،‫تفاعلية‬ ٍ‫ت‬‫صفا‬ ‫الصفحة‬ ‫عناصر‬ ‫بعض‬ ‫عطاء‬ ‫إلخ‬... ‫ن‬‫معي‬ ‫حدث‬ ‫وقوع‬ ‫عند‬ ‫تظهر‬ ‫قوائم‬ ‫أو‬ ‫الصور‬ ‫من‬ . ‫بعضها‬ ‫وسنذكر‬ ‫األمامية‬ ‫الواجهات‬ ‫إنشاء‬ ‫تسهيل‬ ‫في‬ ‫تستعمل‬ ‫كثيرة‬ ‫تقنيات‬ ‫هنالك‬ : • ‫إطار‬ Bootstrap ‫الصفحة‬ ‫عناصر‬ ‫تنسيق‬ ‫لتسهيل‬ . • ‫مكتبة‬ jQuery ‫ا‬ ‫عناصر‬ ‫مع‬ ‫التعامل‬ ‫لتسهيل‬ ‫باستخدام‬ ‫لصفحة‬ JavaScript. • ‫لغة‬ Sass ‫ملفات‬ ‫إلنشاء‬ CSS ‫وسًلسة‬ ‫بسرعة‬ . • ‫مثل‬ ‫بناء‬ ‫أدوات‬ Webpack ‫التي‬ ‫النهائية‬ ‫النسخة‬ ‫إلى‬ ‫للتطبيق‬ ‫المصدرية‬ ‫الملفات‬ ‫تحويل‬ ‫ل‬ِّ‫ه‬‫يس‬ ‫الذي‬ ‫للمستخدم‬ ‫ض‬ َ‫ستعر‬ . ‫المستخدم‬ ‫واجهات‬ ‫تطوير‬ ‫في‬ ‫المستخدمة‬ ‫والتقنيات‬ ‫اللغات‬ HTML : ‫و‬ CSS ‫و‬ JavaScript ‫و‬ Bootstrap ‫و‬ Sass ‫و‬ jQuery ‫و‬ Webpack. ‫الخلفية‬ ‫الواجهات‬ ‫تطوير‬ ‫الخلفية‬ ‫الواجهات‬ ‫تطوير‬ ‫يعني‬ ‫ماذا‬ :‫تتساءل‬ ‫قد‬ (backend) ‫المستخدم‬ ‫واجهات‬ ‫تطوير‬ ‫وبين‬ ‫بينه‬ ‫الفرق‬ ‫وما‬ ‫؟‬ (frontend) ‫عليها‬ ‫عمليات‬ ‫وتجري‬ ‫الخوادم‬ ‫على‬ ‫ذ‬َّ‫ف‬‫ن‬ُ‫ت‬ ‫التي‬ ‫البرمجيات‬ ‫هي‬ ‫الخلفية‬ ‫الواجهات‬ ‫أن‬ ‫هو‬ ‫بينهما‬ ‫الفرق‬ ‫؟‬
  9. ‫تظ‬ ‫التي‬ ‫الصفحات‬ ‫فهي‬ ‫المستخدم‬ ‫واجهات‬ ‫أما‬ ،‫الخارجية‬ ‫والخدمات‬ ‫والملفات‬ ‫البيانات‬ ‫قواعد‬ ‫مع‬ ‫التعامل‬ ‫مثل‬ ‫على‬ ‫هر‬ ‫متصفحه‬ ‫في‬ ‫الزائر‬ ‫شاشة‬ . ‫هي‬ ‫هنا‬ ‫المذكورة‬ ‫اللغات‬ ‫وجميع‬ ،‫الخلفية‬ ‫الواجهات‬ ‫تطوير‬ ‫مجال‬ ‫في‬ ‫للبدء‬ ‫أمامك‬ ‫المتاحة‬ ‫الخيارات‬ ‫عليك‬ ‫سأطرح‬ ،‫تعلمها‬ ‫قرار‬ ‫وتتخذ‬ ‫لغة‬ ‫كل‬ ‫من‬ ‫بسيطة‬ ‫شيفرات‬ ‫على‬ ‫تتطلع‬ ‫أن‬ ‫المهم‬ ،‫منها‬ ‫تختار‬ ‫لغة‬ ‫أي‬ ‫يهم‬ ‫وال‬ ‫وقوية‬ ‫ناجحة‬ ‫لغات‬ ‫وقتك‬ ‫تضييع‬ ‫من‬ ‫واحذر‬ ‫مجالها‬ ‫في‬ ٌ‫ة‬‫ممتاز‬ ٍ‫ة‬‫لغ‬ ُ‫ل‬‫فك‬ ،‫أفضلها‬ ‫عن‬ ‫والبحث‬ ‫البرمجة‬ ‫لغات‬ ‫بين‬ ‫التنقل‬ ‫في‬ . ‫لغة‬ ‫باستخدام‬ ‫البرمجة‬ ‫تعلم‬ PHP ‫هي‬ ‫الخلفية‬ ‫الواجهات‬ ‫لتطوير‬ ‫لغة‬ ‫أشهر‬ ‫بأن‬ ‫القول‬ ‫يمكن‬ ،‫الخلفية‬ ‫والواجهات‬ ‫المستخدم‬ ‫واجهات‬ ‫بين‬ ‫الفرق‬ ‫تبيان‬ ‫بعد‬ ‫لغة‬ PHP ‫مضاعفة‬ ‫ا‬ً‫ف‬‫أضعا‬ ‫لها‬ ‫المنافسة‬ ‫اللغات‬ ‫على‬ ‫وتتفوق‬ ، . ‫بلغة‬ ‫البرمجة‬ ‫تعلم‬ PHP .‫مستمر‬ ‫وتطويرها‬ ‫كبير‬ ‫حولها‬ ‫والمجتمع‬ ،‫الشكل‬ ‫وبسيطة‬ ‫التعلم‬ ‫سهلة‬ ‫لغة‬ ‫فهي‬ ،‫سلس‬ ‫أمر‬ ‫الخلفية‬ ‫الواجهات‬ ‫تطوير‬ ‫مجال‬ ‫إلى‬ ‫الدخول‬ ‫يريد‬ ‫لمن‬ ‫استراتيجي‬ ‫خيار‬ ‫هي‬ ‫اللغة‬ ‫هذه‬ . ‫عدد‬ ‫هنالك‬ ‫بلغة‬ ‫المكتوبة‬ ‫البرمجيات‬ ‫من‬ PHP ‫ووردبريس‬ ‫مثل‬ WordPress ‫ودروبال‬ Drupal ‫وميدياويكي‬ MediaWiki ‫العمل‬ ‫إطارات‬ ‫من‬ ‫كبير‬ ٍ‫د‬‫عد‬ ‫إلى‬ ً‫ة‬‫إضاف‬ ‫الكثير؛‬ ‫وغيرها‬ )‫حسوب‬ ‫وموسوعة‬ ‫ويكيبيديا‬ ‫ل‬ِّ‫غ‬‫تش‬ ‫(التي‬ ‫مثل‬ Laravel ‫و‬ Zend ‫و‬ CodeIgniter ‫و‬ Symfony ‫و‬ CakePHP ‫و‬ Yii ‫يد‬ ‫ما‬ ‫وهذا‬ ،‫وغيرها‬ ‫على‬ ‫ل‬ ‫بها‬ ‫يحيط‬ ‫الذي‬ ‫الكبير‬ ‫والمجتمع‬ ‫الكبيرة‬ ‫اللغة‬ ‫إمكانيات‬ . ‫باستخدام‬ ‫الويب‬ ‫تطبيقات‬ ‫تطوير‬ ‫في‬ ‫المستخدمة‬ ‫والتقنيات‬ ‫اللغات‬ PHP ‫هي‬ : PHP ‫و‬ Laravel ‫البيانات‬ ‫وقواعد‬ ‫(مثل‬ MySQL ‫و‬ PostgreSQL ‫وغيرها‬ ). ‫روبي‬ ‫لغة‬ ‫باستخدام‬ ‫البرمجة‬ ‫تعلم‬ Ruby - ‫روبي‬ ‫لغة‬ ‫في‬ ‫ضالتك‬ ‫فستجد‬ ‫االستعمال‬ ‫وسهلة‬ ‫أنيقة‬ ٍ‫ة‬‫لغ‬ ‫عن‬ ‫تبحث‬ َ‫كنت‬ ‫إذا‬ Ruby ‫وأسلسها‬ ‫اللغات‬ ‫أجمل‬ ‫من‬ ‫فهي‬ ‫عامة‬ ‫برمجة‬ ‫لغة‬ ‫وهي‬ ،ً‫ة‬‫كتاب‬ ‫الويب‬ ‫تطبيقات‬ ‫تطوير‬ ‫ضمنها‬ ‫ومن‬ ‫التطبيقات‬ ‫أنواع‬ ‫مختلف‬ ‫لتطوير‬ ‫استخدامها‬ ‫يمكن‬ . ‫العمل‬ ‫إطار‬ ‫نشر‬ ‫بعد‬ ‫الويب‬ ‫تطوير‬ ‫في‬ ‫روبي‬ ‫صيت‬ ‫ذاع‬ Ruby on Rails ‫هنالك‬ .)"‫"ريلز‬ ‫ا‬ً‫اختصار‬ ‫إليه‬ ‫(يشار‬ ‫مثل‬ ‫أخرى‬ ‫عمل‬ ‫إطارات‬ Sinatra ‫أشهرها‬ ‫ريلز‬ ‫يبقى‬ ‫لكن‬ . ‫في‬ ‫المستخدمة‬ ‫والتقنيات‬ ‫اللغات‬ ‫البيانات‬ ‫وقواعد‬ ‫ريلز‬ ‫و‬ ‫روبي‬ :‫روبي‬ ‫باستخدام‬ ‫الويب‬ ‫تطبيقات‬ ‫تطوير‬ ( ‫مثل‬ MySQL ‫و‬ PostgreSQL ‫وغيرها‬ ). ‫سكربت‬ ‫جافا‬ ‫لغة‬ ‫باستخدام‬ ‫البرمجة‬ ‫تعلم‬ JavaScript - ‫تستعمل‬ !‫نعم‬ JavaScript ‫الفضل‬ .‫ًا‬‫ض‬‫أي‬ ‫الخلفية‬ ‫الواجهات‬ ‫تطوير‬ ‫في‬ ‫لبيئة‬ ‫يعود‬ Node.js ‫للمطورين‬ ‫تسمح‬ ‫التي‬ ‫باستخدام‬ JavaScript ‫إلى‬ ‫إرسالها‬ ‫قبل‬ ‫ديناميكية‬ ‫ويب‬ ‫صفحات‬ ‫لتوليد‬ ‫وذلك‬ ‫الخادم‬ ‫جهة‬ ‫من‬ ‫تعمل‬ ‫برمجيات‬ ‫لكتابة‬ ‫وتستطيع‬ ،‫المتصفح‬ Node.js ‫أنظمة‬ ‫وخدمات‬ ‫الشبكات‬ ‫أنظمة‬ ‫ومختلف‬ ‫البيانات‬ ‫وقواعد‬ ‫الملفات‬ ‫مع‬ ‫التعامل‬ ‫التشغيل‬ . ‫أجمل‬ ‫يوجد‬ ‫هل‬ ‫ذلك‬ ‫وكل‬ ‫الخلفية؟‬ ‫والواجهات‬ ‫الويب‬ ‫لمواقع‬ ‫األمامية‬ ‫الواجهات‬ ‫لبرمجة‬ ‫اللغة‬ ‫نفس‬ ‫استخدام‬ ‫من‬ ‫المجتمع‬ ‫من‬ ‫ا‬ً‫ممتاز‬ ‫ا‬ً‫م‬‫دع‬ ‫ومدعومة‬ ‫واالستعمال‬ ‫التعلم‬ ‫سهلة‬ ‫لغة‬ ‫باستخدام‬ . ‫باستخدام‬ ‫الويب‬ ‫تطبيقات‬ ‫تطوير‬ ‫في‬ ‫المستخدمة‬ ‫والتقنيات‬ ‫اللغات‬ JavaScript: ‫لغة‬ JavaScript ‫وبيئة‬ Node.js ‫العمل‬ ‫وإطار‬ Express.js ‫البيانات‬ ‫وقواعد‬ ( ‫مثل‬ MongoDB ‫و‬ MySQL ‫و‬ PostgreSQL ‫وغيرها‬ ). ‫بايثون‬ ‫لغة‬ ‫باستخدام‬ ‫البرمجة‬ ‫تعلم‬ Python - ‫البرمجية‬ ‫شيفرتها‬ ‫تبدو‬ ‫إذ‬ ،‫اإلطًلق‬ ‫على‬ ‫برمجة‬ ‫لغة‬ ‫أسهل‬ ‫أنها‬ ‫على‬ ‫ها‬‫عد‬ ‫ويمكن‬ ،‫االستعماالت‬ ‫متعددة‬ ‫بايثون‬ ‫لغة‬ ‫مكتوبة‬ ‫مقالة‬ ‫كأنها‬ ‫عن‬ ‫تبحث‬ ‫فأنت‬ ‫كثيرة‬ ‫عمل‬ ‫أطر‬ ‫ولها‬ ‫ا‬ً‫ممتاز‬ ‫ا‬ً‫م‬‫دع‬ ً‫ة‬‫ومدعوم‬ ً‫ة‬‫سهل‬ ً‫ة‬‫لغ‬ َ‫أردت‬ ‫إذا‬ .‫اإلنكليزية‬ ‫باللغة‬ ‫بايثون‬ ‫لغة‬ .
  10. ‫جانغو‬ ‫العمل‬ ‫إطار‬ ‫هي‬ ‫أمامك‬ ‫المتاحة‬ ‫الخيارات‬ ( Django ) ‫وفًلسك‬ ( Flask ) ‫البرمجة‬ ‫لغة‬ ‫تعلم‬ ‫يمكنك‬ ،‫وغيرها‬ ‫قراءة‬ ‫خًلل‬ ‫من‬ ‫الخلفية‬ ‫الواجهات‬ ‫لتطوير‬ ‫بايثون‬ ‫سالسل‬ ‫المقاالت‬ ‫عن‬ ‫تعل‬ ‫م‬ ‫بايثون‬ ‫في‬ ‫قسم‬ ‫البرمجة‬ ‫في‬ ‫أكاديمية‬ ‫حسوب‬ ‫توثيق‬ ‫على‬ ‫لًلطًلع‬ ‫حسوب‬ ‫موسوعة‬ ‫إلى‬ ‫تعود‬ ‫أن‬ ‫يمكنك‬ .‫فًلسك‬ ‫أو‬ ‫جانغو‬ ‫العمل‬ ‫إطار‬ ‫تعلم‬ ‫إلى‬ ‫االنتقال‬ ‫ثم‬ ، ‫بايثون‬ ‫لغة‬ . ‫تطبيقات‬ ‫تطوير‬ ‫في‬ ‫المستخدمة‬ ‫والتقنيات‬ ‫اللغات‬ ‫عليها‬ ‫المبنية‬ ‫العمل‬ ‫وإطارات‬ ‫بايثون‬ ‫لغة‬ :‫بايثون‬ ‫باستخدام‬ ‫الويب‬ ‫البيانات‬ ‫وقواعد‬ )‫وفًلسك‬ ‫جانغو‬ ‫(مثل‬ ( ‫مثل‬ MySQL ‫و‬ PostgreSQL ‫وغيرها‬ ). ‫الجوال‬ ‫تطبيقات‬ ‫تطوير‬ ‫تعلم‬ ‫و‬ ‫أندرويد‬ ‫ألنظمة‬ ‫الجوال‬ ‫تطبيقات‬ ‫عدد‬ ‫ازداد‬ iOS ‫أو‬ ‫شركة‬ ‫لكل‬ ‫وأصبح‬ ،‫الماضية‬ ‫الفترة‬ ‫في‬ ‫ا‬ً‫كبير‬ ‫ًا‬‫د‬‫ازديا‬ ‫خدمة‬ ‫توفرها‬ ‫التي‬ ‫الخدمات‬ ‫إلى‬ ‫الوصول‬ ‫مستخدميها‬ ‫على‬ ‫ل‬ِّ‫ه‬‫يس‬ ‫بها‬ ‫خاص‬ ‫تطبيق‬ . ‫ثم‬ ‫أندرويد‬ ‫هما‬ ‫ًا‬‫ي‬‫حال‬ ‫الجوال‬ ‫سوق‬ ‫على‬ ‫المسيطران‬ ‫الرئيسيان‬ ‫النظامان‬ iOS. ‫بلغة‬ ‫أندرويد‬ ‫تطبيقات‬ ‫برمجة‬ ‫يمكن‬ Java ‫أو‬ Kotlin ‫تطبيقات‬ ‫وبرمجة‬ )‫غيرهما‬ ‫(أو‬ iOS ‫باستخدام‬ Swift ( ‫وغيرها‬ ). ‫لهواتف‬ ‫وآخر‬ ‫أندرويد‬ ‫لهواتف‬ ‫واحد‬ ،‫ا‬ً‫م‬‫تما‬ ‫منفصلين‬ ‫تطبيقين‬ ‫تطوير‬ ‫عليك‬ َّ‫أن‬ ‫ستكتشف‬ iOS ‫في‬ ً‫ة‬‫زياد‬ ‫يسبب‬ ‫وذلك‬ ، ‫التغييرات‬ ‫إدارة‬ ‫في‬ ً‫ة‬‫وصعوب‬ ‫المطلوب‬ ‫العمل‬ ‫حجم‬ . ‫و‬ ‫أندرويد‬ ‫نظام‬ ‫على‬ ‫تعمل‬ ‫تطبيقات‬ ‫وهي‬ ،"‫المنصات‬ ‫متعددة‬ ‫"التطبيقات‬ ‫مفهوم‬ ‫ظهر‬ ،‫ذلك‬ ‫بسبب‬ iOS ‫أي‬ ‫دون‬ ‫وذ‬ ،‫تعديًلت‬ ‫االستفادة‬ ‫الويب‬ ‫مطوري‬ ‫بإمكان‬ ‫أصبح‬ ‫أي‬ .‫الويب‬ ‫تقنيات‬ ‫الغالب‬ ‫في‬ ‫وهي‬ ‫مشتركة‬ ‫تقنيات‬ ‫باستخدام‬ ‫لك‬ ‫آيونيك‬ ‫مثل‬ ‫منصات‬ ‫باستخدام‬ ‫الجوال‬ ‫تطبيقات‬ ‫تطوير‬ ‫في‬ ‫معلوماتهم‬ ‫من‬ Ionic. ‫آيونيك‬ ‫تسمح‬ Ionic ‫لغة‬ ‫باستخدام‬ ‫الجهاز‬ ‫وظائف‬ ‫مختلف‬ ‫مع‬ ‫بالتعامل‬ ‫للمبرمجين‬ JavaScript ‫الوصول‬ ‫مثل‬ ، ‫إلى‬ ‫ذلك‬ ‫وخًلف‬ ‫الملفات‬ ‫مع‬ ‫والتعامل‬ ،‫بالكاميرا‬ ‫صور‬ ‫والتقاط‬ ،‫الجغرافي‬ ‫الموقع‬ . ‫على‬ ‫مبنية‬ ‫أخرى‬ ‫تقنيات‬ ‫الماضية‬ ‫الفترة‬ ‫في‬ ‫رت‬ِّ‫و‬‫ط‬ JavaScript ‫مثل‬ React Native ‫مكتبة‬ ‫على‬ ‫المبنية‬ React.js ‫الويب‬ ‫تقنيات‬ ‫باستخدام‬ ‫أصيلة‬ ‫تطبيقات‬ ‫بكتابة‬ ‫للمطورين‬ ‫تسمح‬ ‫والتي‬ . ‫األلعاب‬ ‫تطوير‬ ‫ت‬ ‫من‬ ‫الحاسوب‬ ‫على‬ ‫تعرفوا‬ ‫فاألغلبية‬ .‫إليه‬ ‫بالدخول‬ ‫الحاسوب‬ ‫مستخدمي‬ ‫جميع‬ ‫يحلم‬ ‫الذي‬ ‫المجال‬ ‫هو‬ ‫األلعاب‬ ‫طوير‬ ‫والتطوير‬ ‫البرمجة‬ ‫عن‬ ‫االستكشاف‬ ‫برحلة‬ ‫بدؤوا‬ ‫ثم‬ ‫ومن‬ ‫الفيديو‬ ‫ألعاب‬ ‫خًلل‬ . ‫لغة‬ ‫بتعلم‬ ‫"عليك‬ ‫يقول‬ ‫األلعاب‬ ‫تطوير‬ ‫عن‬ ‫يجيب‬ ‫من‬ ‫أغلب‬ " C++ ً ‫قليًل‬ ‫األمر‬ ‫لك‬ ‫ل‬ ِّ ‫أفص‬ ‫دعني‬ ‫لكن‬ . ‫أن‬ ‫وحيد‬ ‫ر‬ِّ‫و‬‫مط‬ ‫على‬ ‫الصعب‬ ‫من‬ .‫تجارية‬ ‫شركة‬ ‫من‬ ‫مدعوم‬ ،‫كبير‬ ‫عمل‬ ‫فريق‬ ‫من‬ ‫ا‬ً‫كثير‬ ً ‫عمًل‬ ‫تتطلب‬ ‫األلعاب‬ ‫برمجة‬ ‫فريق‬ ‫دون‬ ‫الصفر‬ ‫من‬ ‫كاملة‬ ‫لعبة‬ ‫ينشئ‬ . ‫ك‬ ِّ ‫محر‬ ‫باستخدام‬ ‫األلعاب‬ ‫أغلبية‬ ‫طور‬ُ‫ت‬ (engine) ‫مناسبة‬ ‫تطوير‬ ‫بيئة‬ ‫ويتيح‬ ‫المطورين‬ ‫على‬ ‫األمر‬ ‫ل‬ِّ‫ه‬‫يس‬ ‫والذي‬ ‫وتحريكها‬ ‫األبعاد‬ ‫ثًلثية‬ ‫الشخصيات‬ ‫ونمذجة‬ ‫بالكاميرا‬ ‫التحكم‬ ‫مثل‬ ‫األلعاب‬ ‫لجميع‬ ‫األساسية‬ ‫الميزات‬ ‫ويتيح‬ ،‫لأللعاب‬ ‫مح‬ ‫من‬ ‫كبير‬ ‫عدد‬ ‫هنالك‬ .‫األخرى‬ ‫الفيزيائية‬ ‫واألمور‬ ‫في‬ ‫شعارها‬ ‫شاهدت‬ ‫أنك‬ ‫المرجح‬ ‫ومن‬ ،‫األلعاب‬ ‫تطوير‬ ‫ركات‬ ‫أشهرها‬ ‫ومن‬ ،‫قبل‬ ‫من‬ ‫لعبتها‬ ‫التي‬ ‫األلعاب‬ : Unreal Engine ‫و‬ Unity. ‫مثل‬ ،‫لغات‬ ‫ة‬ِّ‫د‬‫ع‬ ‫باستخدام‬ ‫المحركات‬ ‫هذه‬ ‫مع‬ ‫التعامل‬ ‫يمكن‬ C++ ‫على‬ ‫لأللعاب‬ ‫ا‬ً‫ص‬‫(خصو‬ ‫وجافا‬ ،)‫أشهرها‬ ‫(وهي‬ ‫استخدام‬ ‫يمكن‬ ‫وحتى‬ )‫أندرويد‬ ‫هواتف‬ JavaScript ‫بعضها‬ ‫مع‬ ‫التعامل‬ ‫في‬ . ‫المتصفحات‬ ‫على‬ ‫تعمل‬ ‫كثيرة‬ ‫ألعاب‬ ‫فهنالك‬ ،‫الهواتف‬ ‫أو‬ ‫المكتب‬ ‫سطح‬ ‫بتطبيقات‬ ‫محدودة‬ ‫غير‬ ‫األلعاب‬ ‫أن‬ ‫تذكر‬ ‫تقنيات‬ ‫باستخدام‬ HTML5 ‫و‬ JavaScript. ‫األلعاب‬ ‫تطوير‬ ‫في‬ ‫المستخدمة‬ ‫والتقنيات‬ ‫اللغات‬ : C++ ‫و‬ Java ‫و‬ JavaScript ‫ومحركات‬ Unity ‫و‬ Unreal Engine.
  11. ‫المدمجة‬ ‫األنظمة‬ ‫تطوير‬ .‫اآلن‬ ‫أمامك‬ ‫تراه‬ ‫الذي‬ ‫الحاسوب‬ ‫ميزات‬ ‫كل‬ ‫تملك‬ ‫ال‬ ‫ولكنها‬ ‫بالحاسوب‬ ‫شبيهة‬ ‫حاسوبية‬ ‫أنظمة‬ ‫هي‬ ‫المدمجة‬ ‫األنظمة‬ ‫المراد‬ ‫البيئة‬ ‫أو‬ ‫الجهاز‬ ‫ضمن‬ ‫ومدمج‬ ‫فقط‬ ‫محددة‬ ‫مهام‬ ‫ألداء‬ ‫مبرمج‬ ‫صغير‬ ‫حاسوب‬ ‫هو‬ ‫المدمج‬ ‫النظام‬ ،‫أخرى‬ ‫بعبارة‬ .‫فيها‬ ‫استخدامه‬ ‫التحكم‬ ‫وجهاز‬ ‫المياه‬ ‫مستوى‬ ‫مقياس‬ ‫جهاز‬ ‫مثل‬ ‫اآلن‬ ‫المدمجة‬ ‫األنظمة‬ ‫من‬ ‫بالكثير‬ ‫محاط‬ ‫اآلن‬ ‫أنت‬ ‫اآللية‬ ‫األطفال‬ ‫وألعاب‬ ‫السير‬ ‫وتنظيم‬ ‫المرور‬ ‫إشارات‬ ‫حتى‬ .‫إلخ‬... ‫المراقبة‬ ‫وأجهزة‬ ‫الحريق‬ ‫إنذار‬ ‫وجهاز‬ ‫بالتلفاز‬ ‫مدمجة‬ ‫أنظمة‬ ‫أنها‬ ‫على‬ ‫ف‬َّ‫ن‬‫تص‬ . ‫األشي‬ ‫"إنترنت‬ ‫بمصطلح‬ ‫ًا‬‫ض‬‫أي‬ ‫سمعت‬ ‫هل‬ !‫البساطة‬ ‫بهذه‬ ،‫نعم‬ .‫باإلنترنت‬ ‫متصل‬ ‫مدمج‬ ‫نظام‬ ‫هو‬ ‫األشياء‬ ‫إنترنت‬ ‫اء"؟‬ ‫بعد‬ ‫عن‬ ‫المراقبة‬ ‫وأنظمة‬ ‫الدرون‬ ‫وطائرات‬ ‫الذكية‬ ‫والغساالت‬ ‫والثًلجات‬ ‫الساعات‬ ‫ذهنك‬ ‫إلى‬ ‫يتبادر‬ ‫أن‬ ‫اآلن‬ ‫البد‬ ‫األشياء‬ ‫إنترنت‬ ‫على‬ ‫أمثلة‬ ‫كلها‬ ‫إذ‬ ،‫الذكية‬ ‫البيوت‬ ‫وأنظمة‬ . ‫المدمجة‬ ‫األنظمة‬ ‫برمجة‬ ‫كيفية‬ ‫أش‬ ‫لغة‬ ‫هي‬ ‫األشياء‬ ‫وإنترنت‬ ‫المدمجة‬ ‫األنظمة‬ ‫برمجة‬ ‫في‬ ‫ل‬َ‫م‬‫تستع‬ ‫برمجة‬ ‫لغة‬ ‫وأكثر‬ ‫هر‬ C ‫اللغات‬ ‫وكل‬ )‫سي‬ ‫لغة‬ ‫(أي‬ ‫منها‬ ‫المشتقة‬ ( ‫مثل‬ ‫أردوينو‬ ‫لغة‬ C). ‫لغة‬ ‫ل‬َ‫م‬‫ستع‬ُ‫ت‬ C++ ‫لغة‬ ‫من‬ ‫أعلى‬ ‫مستوى‬ ‫ذات‬ ‫لغة‬ ُّ‫د‬‫تع‬ ‫إذ‬ ،‫المجال‬ ‫هذا‬ ‫في‬ ‫ا‬ً‫كثير‬ C ‫ذلك‬ ‫إلى‬ ‫أضف‬ .‫التوجه‬ ‫كائنية‬ ‫للبرمجة‬ ‫لدعمها‬ ‫المدمجة‬ ‫األنظمة‬ ‫تطبيقات‬ ‫برمجة‬ ‫في‬ ‫بايثون‬ ‫لغة‬ ‫استعمال‬ ‫ا‬ً‫ث‬‫حدي‬ ‫بدأ‬ ‫أنه‬ ‫لغة‬ ‫بقوة‬ ‫ليست‬ ‫بايثون‬ ‫لغة‬ َّ‫أن‬ ‫صحيح‬ .‫ا‬ً‫ق‬‫ساب‬ ‫المجال‬ ‫بهذا‬ ‫ًّا‬‫ي‬‫تقليد‬ ‫ترتبط‬ ‫لم‬ ‫أنها‬ ‫مع‬ C ‫و‬ C++ ‫أنها‬ ‫إال‬ ‫المجال‬ ‫هذا‬ ‫في‬ ‫فيها‬ ‫المتوافرة‬ ‫الهائلة‬ ‫المكتبات‬ ‫من‬ ‫وفعاليتها‬ ‫ميزاتها‬ ‫تستمد‬ . ‫عن‬ ‫ًا‬‫د‬‫بعي‬ C ‫وبا‬ ‫العتاد‬ ‫توصيف‬ ‫"لغات‬ ‫ضمن‬ ‫تنضوي‬ ‫أخرى‬ ‫لغات‬ ‫ًا‬‫ض‬‫أي‬ ‫المدمجة‬ ‫األنظمة‬ ‫مجال‬ ‫في‬ ‫تستعمل‬ ،‫يثون‬ " (Hardware Description Languages) ‫لغتي‬ ‫؛‬ VHDL ‫و‬ Verilog ‫العتاد‬ ‫توصيف‬ ‫لغات‬ ‫أشهر‬ ‫من‬ ‫هما‬ ‫القاب‬ ‫المنطقية‬ ‫البوابات‬ ‫"مصفوفة‬ ‫برمجة‬ ‫في‬ ‫اللغات‬ ‫هذه‬ ‫مثل‬ ‫ل‬َ‫م‬‫ستع‬ُ‫ت‬ .‫المجال‬ ‫هذا‬ ‫في‬ ‫المستعملة‬ ‫للبرمجة‬ ‫لة‬ " (FPGA ‫أي‬ Field Programmable Gate Array). ‫التجميع‬ ‫"لغة‬ ‫تدعى‬ ‫أخرى‬ ‫بلغة‬ ‫المدمجة‬ ‫األنظمة‬ ‫برمجة‬ ‫تشرح‬ ‫المراجع‬ ‫بعض‬ ‫تجد‬ ‫قد‬ ،‫ا‬ً‫أخير‬ " (Assembly Language) ‫ا‬ً‫ع‬‫واس‬ ‫ا‬ً‫م‬‫فه‬ ‫اللغة‬ ‫هذه‬ ‫باستخدام‬ ‫البرمجة‬ ‫تعلم‬ ‫يتطلب‬ .‫المستوى‬ ‫منخفضة‬ ‫اللغات‬ ‫من‬ ‫تصنف‬ ‫التي‬ ‫وحدة‬ ‫بمعمارية‬ ‫يكون‬ ‫قد‬ ‫اللغة‬ ‫هذه‬ ‫إلى‬ ‫االنتقال‬ .‫الحاسوب‬ ‫يفهمها‬ ‫لغة‬ ‫أقرب‬ ‫ألنها‬ ‫بالمجمل‬ ‫والمعالج‬ ‫المركزية‬ ‫التحكم‬ ‫اللغة‬ ‫بهذه‬ ‫البرمجة‬ ‫ميزات‬ ‫من‬ .‫األشياء‬ ‫إنترنت‬ ‫وتطبيقات‬ ‫المدمجة‬ ‫األنظمة‬ ‫لبرمجة‬ ‫تعلمك‬ ‫من‬ ‫متقدمة‬ ‫مستويات‬ ‫في‬ ‫أخرى‬ ‫لغات‬ ‫توفره‬ ‫ال‬ ‫الذي‬ ‫والمعالج‬ ‫بالعتاد‬ ‫الواسع‬ ‫التحكم‬ ‫هي‬ ‫ولكن‬ ،‫ومعقدة‬ ‫الشيء‬ ‫بعض‬ ‫صعبة‬ ‫اللغة‬ ‫هذه‬ ‫أن‬ ‫يقال‬ . ‫وال‬ ‫اآللة‬ ‫لغة‬ ‫إلى‬ ‫شيء‬ ‫وأقرب‬ ‫المستوى‬ ‫منخفضة‬ ‫لغة‬ ‫هي‬ ‫التجميع‬ ‫لغة‬ ‫أن‬ ‫هو‬ ‫ذلك‬ ‫قول‬ ‫سبب‬ ‫يكون‬ ‫قد‬ !‫ذلك‬ ‫أرى‬ ‫ال‬ ‫يعرفها‬ ‫لم‬ ‫إن‬ ‫ا‬ً‫ق‬‫مطل‬ ‫فهمها‬ ‫فيها‬ ‫مكتوبة‬ ‫شيفرة‬ ‫على‬ ‫نظرة‬ ‫يلقي‬ ‫من‬ ‫يستطيع‬ . ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫تطوير‬ ‫تطب‬ ‫تطوير‬ ‫مجال‬ ‫فيه‬ ‫ستضيع‬ ،‫االتجاه‬ ‫تريد‬ ‫أين‬ ‫إلى‬ ‫وتعرف‬ ‫بوصلة‬ ‫تملك‬ ‫لم‬ ‫إن‬ ‫الواسع؛‬ ‫كالمحيط‬ ‫المكتب‬ ‫سطح‬ ‫يقات‬ ‫أشهرها‬ ‫التشغيل‬ ‫أنظمة‬ ‫من‬ ‫الكثير‬ ‫هنالك‬ .‫ا‬ً‫م‬‫حت‬ - ‫ًا‬‫ي‬‫حال‬ ‫السوق‬ ‫على‬ ً‫ة‬‫سيطر‬ ‫وأكثرها‬ - ،‫ويندوز‬ ‫التشغيل‬ ‫نظام‬ :‫هي‬ ‫وماك‬ ،‫ولينكس‬ (macOS) ‫به‬ ‫خاصة‬ ‫مكتبية‬ ‫تطبيقات‬ ‫تشغيل‬ ‫نظام‬ ‫كل‬ ‫ويملك‬ ، ً ‫أوال‬ ‫عليك‬ ‫يجب‬ ،‫لذلك‬ . - ‫الدخول‬ ‫قبل‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫برمجة‬ ‫سوق‬ ‫إلى‬ - ‫هل‬ :‫التالي‬ ‫السؤال‬ ‫على‬ ‫اإلجابة‬ ‫يجب‬ ‫أي‬ .‫المستهدف‬ ‫التشغيل‬ ‫نظام‬ ‫تحديد‬ ‫واحد؟‬ ‫آن‬ ‫في‬ ‫تشغيل‬ ‫أنظمة‬ ‫عدة‬ ‫على‬ ‫يعمل‬ ‫أن‬ ‫لتطبيقك‬ ‫تريد‬ ‫أم‬ ،‫محدد‬ ‫تشغيل‬ ‫نظام‬ ‫تطبيقك‬ ‫يستهدف‬ ! ،‫المستهدف‬ ‫التشغيل‬ ‫نظام‬ ‫تحديد‬ ‫بعد‬ ‫سبيل‬ ‫فعلى‬ ‫تطبيقاته؛‬ ‫لبرمجة‬ ‫النظام‬ ‫ذلك‬ ‫في‬ ‫استعمالها‬ ‫المفضل‬ ‫اللغات‬ ‫على‬ ‫اطلع‬ ‫اللغات‬ ،‫المثال‬ C ‫و‬ C++ ‫و‬ C# ‫و‬ VB.NET ،‫ويندوز‬ ‫التشغيل‬ ‫نظام‬ ‫تطبيقات‬ ‫برمجة‬ ‫في‬ ً ‫استعماال‬ ‫األكثر‬ ‫هي‬ ‫واللغات‬ C ‫و‬ C++ ‫و‬ Bash ‫نظام‬ ‫توزيعات‬ ‫تطبيقات‬ ‫برمجة‬ ‫في‬ ً ‫استعماال‬ ‫األكثر‬ ‫هي‬ ‫نظام‬ ‫ا‬َّ‫م‬‫أ‬ .‫لينكس‬ ‫التشغيل‬ ‫لغة‬ ‫باستعمال‬ ‫فينفرد‬ ،‫ماك‬ ‫الشغيل‬ C. - Objective
  12. ‫اللغات‬ ‫أشهر‬ ‫إذ‬ ،‫التطبيقات‬ ‫برمجة‬ ‫في‬ ‫استعمالها‬ ‫يمكن‬ ‫الغرض‬ ‫عامية‬ ‫برمجة‬ ‫لغة‬ ‫كل‬ ،‫الحقيقة‬ ‫أخبرك‬ ‫دعني‬ ،‫ا‬ً‫ن‬‫حس‬ ‫جافا‬ ‫لغة‬ ‫هي‬ ‫المجال‬ ‫هذا‬ ‫في‬ ‫ًّا‬‫ي‬‫أكاديم‬ ‫س‬َّ‫در‬ُ‫ت‬ ‫التي‬ (Java). ‫ل‬ ‫دخول‬ ‫القارئ‬ ‫على‬ ‫يخفى‬ ‫ال‬ ‫هذا‬ ‫على‬ ‫بقوة‬ ‫بايثون‬ ‫غة‬ ‫صياغتها‬ ‫وسهولة‬ ‫الرائعة‬ ‫المكتبات‬ ‫من‬ ‫الكثير‬ ‫المتًلكها‬ ‫ا‬ً‫نظر‬ ‫المجال‬ . ‫لغة‬ ‫ا‬ً‫مؤخر‬ ‫دخلت‬ java script ‫العمل‬ ‫إطار‬ ‫عبر‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫برمجة‬ ‫سوق‬ ‫على‬ Electron ‫الويب‬ ‫تطوير‬ ‫تقنيات‬ ‫المجال‬ ‫هذا‬ ‫في‬ ‫توظف‬ ‫إذ‬ ،)‫(إلكترون‬ (HTML ‫و‬ CSS ‫و‬ JavaScript ... ‫إلخ‬ .). ‫هذا‬ ‫بدأ‬ ‫هذا‬ ‫باستعمال‬ ‫بها‬ ‫الخاصة‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫لتطوير‬ ‫كبيرة‬ ‫شركات‬ ‫دفع‬ ‫مما‬ ‫الهشيم‬ ‫في‬ ‫كالنار‬ ‫ينتشر‬ ‫اإلطار‬ ‫شركة‬ ‫ومنها‬ ‫اإلطار‬ Slack ‫المكتبي‬ ‫تطبيقها‬ ‫لتطوير‬ ‫اإلطار‬ ‫هذا‬ ‫استعملت‬ ‫التي‬ . ‫ف‬ ‫المستعملة‬ ‫والتقنيات‬ ‫البرمجة‬ ‫لغات‬ ‫كثرة‬ ‫من‬ ‫بالضياع‬ ‫تشعر‬ ‫اآلن‬ ‫أنك‬ ‫أعلم‬ ‫بذلك‬ ‫أخبرتك‬ ‫فقد‬ ،‫حق‬ ‫معك‬ ‫المجال؛‬ ‫هذا‬ ‫ي‬ ‫هل‬ ‫منه؟‬ ‫والربح‬ ‫إنشاءه‬ ‫وتريد‬ ‫تطبيق‬ ‫فكرة‬ ‫لديك‬ ‫هل‬ .‫بالضبط‬ ‫منه‬ ‫هدفك‬ ‫تحديد‬ ‫منك‬ ‫يحتاج‬ ‫السوق‬ ‫هذا‬ ‫دخول‬ .‫قليل‬ ‫منذ‬ ‫يلعب‬ ‫ذلك‬ ‫كل‬ ‫تطويره؟‬ ‫على‬ ‫العمل‬ ‫تريد‬ ‫أو‬ ‫إنشاءه‬ ‫تريد‬ ‫الذي‬ ‫التطبيق‬ ‫مواصفات‬ ‫هي‬ ‫ما‬ ‫محددة؟‬ ‫شركة‬ ‫لدى‬ ‫العمل‬ ‫تريد‬ ‫في‬ ‫ا‬ً‫دور‬ ‫لغة‬ ‫على‬ ‫العمل‬ ‫وأتقنت‬ ‫البرمجة‬ ‫أساسيات‬ ‫تعلمت‬ ‫إن‬ ،‫النهاية‬ ‫في‬ .‫لتعلمها‬ ‫لك‬ ‫األنسب‬ ‫البرمجة‬ ‫لغة‬ ‫تحديد‬ ‫ناحية‬ ‫من‬ ‫ًا‬‫ض‬‫بع‬ ‫بعضها‬ ‫تشبه‬ ‫البرمجة‬ ‫لغات‬ ‫أغلب‬ ‫إذ‬ ،‫أخرى‬ ‫برمجة‬ ‫لغة‬ ‫إلى‬ ‫االنتقال‬ ‫عليك‬ ‫سيسهل‬ ،‫محددة‬ ‫برمجية‬ ‫ل‬ .‫والشكل‬ ‫الصياغة‬ ‫ناحية‬ ‫من‬ ‫الشيء‬ ‫بعض‬ ‫وتختلف‬ ‫والمضمون‬ ‫المفهوم‬ ‫الناحية‬ ‫هذه‬ ‫من‬ ‫اطمئن‬ ،‫ذلك‬ . ‫تناسبك‬ ‫التي‬ ‫البرمجة‬ ‫لغة‬ ‫اختيار‬ ‫كيفية‬ ‫مجاالت‬ ‫لمختلف‬ ‫التعلم‬ ‫مسار‬ ‫لك‬ ‫سألخص‬ ،‫فيه‬ ‫العمل‬ ‫تحب‬ ‫الذي‬ ‫المجال‬ ‫على‬ ‫ًا‬‫د‬‫اعتما‬ ‫البرمجة‬ ‫لغة‬ ‫اختيار‬ ‫يمكنك‬ ‫العمل‬ : • ‫ويب‬ ‫كمطور‬ ‫العمل‬ stack: - full ‫وتطوير‬ ،‫المستخدم‬ ‫واجهات‬ ‫تطوير‬ ‫تعلم‬ ‫ذلك‬ ‫يعني‬ .‫الخلفية‬ ‫الواجهات‬ ‫متخصصين‬ ‫مبرمجين‬ ‫العمل‬ ‫سوق‬ ‫في‬ ‫ا‬ً‫كثير‬ ‫ب‬َ‫ل‬‫ُط‬‫ي‬ ‫إذ‬ ،‫فقط‬ ‫المجالين‬ ‫هذين‬ ‫من‬ ‫واحد‬ ‫بمجال‬ ‫التخصص‬ ‫يمكن‬ ‫الخلفية‬ ‫الواجهات‬ ‫أو‬ ‫المستخدم‬ ‫واجهات‬ ‫في‬ . • ‫أو‬ ‫أندرويد‬ ‫تطبيقات‬ ‫برمجة‬ ‫تعلم‬ ‫يمكنك‬ :‫المحمولة‬ ‫للهواتف‬ ‫تطبيقات‬ ‫كمطور‬ ‫العمل‬ iOS ‫أو‬ ،‫حدة‬ ‫على‬ ً ‫كًل‬ ‫تقني‬ ‫استعمال‬ ‫ا‬ً‫ع‬‫م‬ ‫النظامين‬ ‫لكًل‬ ‫للتطوير‬ ‫كوردوفا‬ ‫مثل‬ ‫ات‬ . • ‫َّد‬‫د‬‫مح‬ ‫تشغيل‬ ‫لنظام‬ ‫مكتبية‬ ‫تطبيقات‬ ‫تطوير‬ ‫في‬ ‫بالتخصص‬ ‫البدء‬ ‫يمكنك‬ :‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫كمطور‬ ‫العمل‬ ‫ذلك‬ ‫إلى‬ ‫أشرنا‬ ‫(كما‬ ‫المجال‬ ‫ذاك‬ ‫في‬ ‫المستعملة‬ ‫البرمجة‬ ‫لغة‬ ‫تعلم‬ ‫عبر‬ )‫لينكس‬ ‫أو‬ ‫ويندوز‬ ‫التشغيل‬ ‫نظام‬ ‫(مثل‬ ‫تطبيقا‬ ‫تطوير‬ ‫قسم‬ ‫في‬ ‫تطبيقات‬ ‫تطوير‬ ‫من‬ ‫تمكنك‬ ‫التي‬ ‫والتقنيات‬ ‫اللغات‬ ‫تعلم‬ ‫هو‬ ‫آخر‬ ‫خيار‬ ‫المكتب)؛‬ ‫سطح‬ ‫ت‬ ‫العمل‬ ‫إطار‬ ‫استعمال‬ ‫مثل‬ )‫تشغيل‬ ‫أنظمة‬ ‫عدة‬ ‫على‬ ‫(تعمل‬ ‫للمنصات‬ ‫عابرة‬ Electron. • ‫لغة‬ :‫الذكية‬ ‫واألنظمة‬ ‫المدمجة‬ ‫لألنظمة‬ ‫كمطور‬ ‫العمل‬ C ‫مع‬ ‫تتعامل‬ َ‫كنت‬ ً‫ء‬‫سوا‬ ،‫المجال‬ ‫هذا‬ ‫أساس‬ ‫هي‬ ‫مبا‬ ‫المتحكمات‬ ‫أردوينو‬ ‫مثل‬ ‫شريحة‬ ‫مع‬ ‫تتعامل‬ ‫أو‬ ،ً‫ة‬‫شر‬ ( ‫من‬ ً‫ة‬‫مشتق‬ ً‫ة‬‫لغ‬ ‫تمتلك‬ ‫والتي‬ C). ‫البرمجة‬ ‫لتعلم‬ ‫نصائح‬ ‫لكثرة‬ ‫طريقك‬ ‫بداية‬ ‫في‬ ‫باإلحباط‬ ‫تصاب‬ ‫قد‬ ‫لكنك‬ ،ٍ‫ل‬‫ومس‬ ‫وجميل‬ ،‫وشائق‬ ‫طويل‬ ‫الصفر‬ ‫من‬ ‫البرمجة‬ ‫تعلم‬ ‫مشوار‬ ‫في‬ ‫تجربتي‬ ‫من‬ ‫اآلتية‬ ‫النصائح‬ ‫إليك‬ ‫جهزت‬ ‫لذا‬ ،‫بها‬ ‫اإللمام‬ ‫عليك‬ ‫التي‬ ‫األمور‬ ‫البرمجة‬ : • ‫بأنك‬ ‫أبشرك‬ ،‫هدف‬ ‫بدون‬ .‫ًا‬‫ي‬‫واقع‬ ‫واجعله‬ ‫دخوله‬ ‫تريد‬ ‫الذي‬ ‫العمل‬ ‫وسوق‬ ‫البرمجة‬ ‫لغة‬ ‫تعلم‬ ‫من‬ ‫هدفك‬ ‫حدد‬ ‫على‬ ‫والتجزيء‬ ‫للقياس‬ ً ‫وقابًل‬ ‫ًا‬‫ي‬‫واقع‬ ‫هدفك‬ ‫يكون‬ ‫أن‬ ‫إلى‬ ‫انتبه‬ .‫حين‬ ‫بعد‬ ‫البرمجة‬ ‫تعلم‬ ‫فكرة‬ ‫عن‬ ‫ستتخلى‬ ‫البرمجة‬ ‫تعلم‬ ‫وتترك‬ ‫عقبة‬ ‫أول‬ ‫من‬ ‫ستفشل‬ ،‫ذلك‬ ‫بدون‬ .‫مراحل‬ . • ‫أع‬ ‫ترميم‬ ‫على‬ ‫عمل‬ ‫من‬ ‫المفلح‬ ‫ولكن‬ ،‫وضعف‬ ‫قوة‬ ‫نقاط‬ ‫لديه‬ ‫كلنا‬ .‫وضعفك‬ ‫قوتك‬ ‫ونقاط‬ ‫ًا‬‫د‬‫جي‬ ‫نفسك‬ ‫رف‬ ‫بتعلمه‬ ‫يرغب‬ ‫الذي‬ ‫المجال‬ ‫في‬ ‫ضعفه‬ ‫نقاط‬ ‫وتحسين‬ .
  13. • ‫دورة‬ ‫إلى‬ ‫االنتهاء‬ ‫بعد‬ ‫انتقل‬ ‫ثم‬ ‫ًّا‬‫ي‬‫تدريج‬ ‫الدورة‬ ‫ومتابعة‬ ‫الكتاب‬ ‫بقراءة‬ ‫وابدأ‬ ‫ًا‬‫د‬‫واح‬ ‫ًا‬‫ب‬‫وكتا‬ ‫واحدة‬ ‫دورة‬ ‫رشح‬ ‫إذ‬ ،‫آخر‬ ‫وكتاب‬ ‫أخرى‬ ‫بداية‬ ‫قبل‬ ‫أفعله‬ ‫الذي‬ ‫الشيء‬ .‫العديدة‬ ‫والكتب‬ ‫الكثيرة‬ ‫الدورات‬ ‫بين‬ ‫التشتت‬ ‫ذلك‬ ‫سيجنبك‬ ‫جودتها‬ ‫بحسب‬ ‫والدورات‬ ‫الكتب‬ ‫هذه‬ ‫ترتيب‬ ‫ثم‬ ‫ودورات‬ ‫كتب‬ ‫عدة‬ ‫من‬ ‫قائمة‬ ‫ترشيح‬ ‫هو‬ ‫جديد‬ ‫شيء‬ ‫تعلم‬ ‫التقريبي‬ ‫الوقت‬ ‫أحدد‬ .‫منها‬ ‫األول‬ ‫بالخيار‬ ‫وأبدأ‬ ‫والدورات‬ ‫الكتب‬ ‫أرقم‬ .‫وتعقيدها‬ ‫بساطتها‬ ‫ومدى‬ ‫يأخذه‬ ‫الذي‬ ‫الخاصة‬ ‫رزنامتي‬ ‫على‬ ‫البقية‬ ‫الخيارات‬ ‫وأجدول‬ ‫لدراسته‬ ‫خيار‬ ‫كل‬ . • ‫معلومات‬ ‫يضعون‬ ‫وقد‬ ‫غيرهم‬ ‫مساعدة‬ ‫يحاولون‬ ‫المبتدئين‬ ‫من‬ ‫فالكثير‬ ،‫بعلمه‬ ‫تثق‬ ‫ممن‬ ‫إال‬ ‫العلم‬ ‫تأخذ‬ ‫ال‬ ‫قصد‬ ‫دون‬ ‫مغلوطة‬ . • ‫رسمة‬ ‫كان‬ ‫لو‬ ‫حتى‬ ‫تتعلمه‬ ‫جديد‬ ‫أمر‬ ‫كل‬ ‫من‬ ‫شيء‬ ‫أي‬ ‫وأنشئ‬ ،‫مباشرة‬ ‫تعلمته‬ ‫ما‬ ‫طبق‬ ‫من‬ ‫شيفرة‬ ‫أو‬ ‫بسيطة‬ ‫العلم‬ ‫طلب‬ ‫في‬ ‫واالستمرار‬ ‫المزيد‬ ‫لتعلم‬ ‫تدفعك‬ ‫تعلمته‬ ‫مما‬ ‫شيء‬ ‫إنجاز‬ ‫فرحة‬ .‫فقط‬ ‫أسطر‬ ‫عدة‬ . • ‫إلتزام‬ ‫لديك‬ ‫أن‬ ‫أصدقائك‬ ‫أخبر‬ .‫بتنفيذها‬ ‫والتزم‬ ‫لسائره‬ ً‫ة‬‫خط‬ ‫أسبوع‬ ‫كل‬ ‫بداية‬ ‫حدد‬ ،‫وقلم‬ ‫بورقة‬ ‫وقتك‬ ‫نظم‬ ‫ت‬ ‫وال‬ ‫بالطبع‬ ‫لًلستراحة‬ ‫ا‬ً‫ت‬‫وق‬ ‫خصص‬ .‫إنجازها‬ ‫عليك‬ ‫مهمة‬ ‫وأمور‬ ،‫أسبوع‬ ‫كل‬ ‫نهاية‬ ‫في‬ .‫منها‬ ‫نصيبك‬ َ‫نس‬ ‫إلى‬ ‫النسبة‬ ‫تصل‬ ‫أن‬ ‫وحاول‬ ‫وضعها‬ ‫التي‬ ‫الخطة‬ ‫تطبيق‬ ‫ومدى‬ ‫حققته‬ ‫الذي‬ ‫اإلنجاز‬ ‫مدى‬ ‫وازن‬ 100 .% ‫اإلنتاجية‬ ‫ورفع‬ ‫الوقت‬ ‫تنظيم‬ ‫استراتيجيات‬ ‫ومتابعة‬ ‫بقراءة‬ ‫أنصحك‬ . • ‫المشكًلت‬ ‫حل‬ ‫على‬ ‫تمرس‬ ‫ب‬ ‫واشترك‬ ‫البرمجية‬ ‫المسابقات‬ ‫وتابع‬ ‫باستمرار‬ ‫نفسك‬ ‫وتحدى‬ ،‫استطعت‬ ‫إن‬ ‫ها‬ ‫مقالة‬ ‫بقراءة‬ ‫أنصحك‬ ‫البرمجة‬ ‫احتراف‬ ‫في‬ ‫وأهميتها‬ ‫المشكًلت‬ ‫حل‬ ‫المقالة‬ ‫هذه‬ ‫بعد‬ . • ‫مشروع‬ ‫على‬ ‫العمل‬ ‫تكمل‬ ‫أو‬ ‫ًا‬‫ب‬‫كتا‬ ‫فيها‬ ‫تنهي‬ ‫مرة‬ ‫كل‬ ‫في‬ ‫نفسك‬ ‫تكافئ‬ ‫أن‬ َ‫تنس‬ ‫ال‬ . • ‫بعيد‬ ‫النهاية‬ ‫ولكن‬ ‫بداية‬ ‫له‬ ‫يكون‬ ‫قد‬ ‫البرمجة‬ ‫طريق‬ ‫ألن‬ ،‫االستراحة‬ ‫من‬ ‫حظك‬ َ‫تنس‬ ‫ال‬ ‫ومتعبة‬ ‫ة‬ - ‫أي‬ ‫مثل‬ ‫مثله‬ ‫آخر‬ ‫مجال‬ . - ‫غيرك‬ ‫لعل‬ ،‫البرمجة‬ ‫تعلم‬ ‫في‬ ‫تجربتك‬ ‫تشاركنا‬ ‫أن‬ ‫منك‬ ‫وأرجو‬ .‫البرمجي‬ ‫مشوارك‬ ‫في‬ ‫التوفيق‬ ‫كل‬ ‫لك‬ ‫أرجو‬ ‫النهاية‬ ‫في‬ ‫منها‬ ‫يستفيد‬ .
Anúncio