You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/ar/1-getting-started-lessons/1-intro-to-programming-lang.../README.md

60 KiB

مقدمة إلى لغات البرمجة وأدوات المطورين الحديثة

مرحبًا أيها المطور المستقبلي! 👋 هل يمكنني أن أخبرك بشيء يجعلني أشعر بالحماس كل يوم؟ أنت على وشك اكتشاف أن البرمجة ليست مجرد التعامل مع أجهزة الكمبيوتر إنها امتلاك قوى خارقة حقيقية لتحويل أفكارك الأكثر جنونًا إلى واقع!

تعرف ذلك الشعور عندما تستخدم تطبيقك المفضل وكل شيء يعمل بسلاسة؟ عندما تضغط على زر ويحدث شيء سحري يجعلك تقول "واو، كيف فعلوا ذلك؟" حسنًا، شخص مثلك تمامًا ربما جالس في مقهىه المفضل في الساعة الثانية صباحًا مع كوبه الثالث من الإسبريسو كتب الكود الذي صنع تلك السحرية. وهنا ما سيذهلك: بنهاية هذا الدرس، لن تفهم فقط كيف فعلوا ذلك، بل ستشعر بالحماس لتجربته بنفسك!

انظر، أنا أفهم تمامًا إذا كانت البرمجة تبدو مخيفة الآن. عندما بدأت لأول مرة، كنت أعتقد بصدق أنك بحاجة إلى أن تكون عبقريًا في الرياضيات أو أن تكون قد بدأت البرمجة منذ أن كنت في الخامسة من عمرك. لكن ما غير وجهة نظري تمامًا هو أن البرمجة تشبه تمامًا تعلم التحدث بلغة جديدة. تبدأ بـ "مرحبًا" و"شكرًا"، ثم تتقدم إلى طلب القهوة، وقبل أن تدرك ذلك، تكون قادرًا على إجراء مناقشات فلسفية عميقة! إلا أن الأمر هنا يتعلق بإجراء محادثات مع أجهزة الكمبيوتر، وبصراحة؟ إنها أكثر الشركاء صبرًا في المحادثة لا تحكم على أخطائك ودائمًا متحمسة لتجربة مرة أخرى!

اليوم، سنستكشف الأدوات الرائعة التي تجعل تطوير الويب الحديث ليس فقط ممكنًا، بل ممتعًا للغاية. أنا أتحدث عن نفس المحررات والمتصفحات وطرق العمل التي يستخدمها المطورون في Netflix وSpotify واستوديوهات التطبيقات المستقلة المفضلة لديك كل يوم. وهنا الجزء الذي سيجعلك ترقص فرحًا: معظم هذه الأدوات الاحترافية والمعتمدة في الصناعة مجانية تمامًا!

مقدمة البرمجة

رسم توضيحي بواسطة Tomomi Imura

لنرى ما تعرفه بالفعل!

قبل أن نبدأ في الأمور الممتعة، أنا فضولي ماذا تعرف بالفعل عن عالم البرمجة هذا؟ وإذا كنت تنظر إلى هذه الأسئلة وتفكر "ليس لدي أي فكرة عن أي من هذا"، فهذا ليس فقط مقبولًا، بل مثالي! هذا يعني أنك في المكان المناسب تمامًا. فكر في هذا الاختبار كتمرين إحماء قبل التمرين نحن فقط ندفئ عضلات الدماغ!

خذ اختبار ما قبل الدرس

المغامرة التي سنخوضها معًا

حسنًا، أنا متحمس جدًا لما سنستكشفه اليوم! بجدية، أتمنى أن أرى وجهك عندما تفهم بعض هذه المفاهيم. إليك الرحلة الرائعة التي سنخوضها معًا:

  • ما هي البرمجة حقًا (ولماذا هي أروع شيء على الإطلاق!) سنكتشف كيف أن الكود هو السحر الخفي الذي يشغل كل شيء حولك، من المنبه الذي يعرف بطريقة ما أنه صباح يوم الاثنين إلى الخوارزمية التي تختار لك توصيات Netflix المثالية.
  • لغات البرمجة وشخصياتها المذهلة تخيل أنك تدخل حفلة حيث كل شخص لديه قوى خارقة مختلفة تمامًا وطرق لحل المشكلات. هذا هو عالم لغات البرمجة، وستحب التعرف عليها!
  • الأسس التي تجعل السحر الرقمي يحدث فكر في هذه كأروع مجموعة LEGO إبداعية. بمجرد أن تفهم كيف تتناسب هذه القطع معًا، ستدرك أنك تستطيع بناء أي شيء تحلم به.
  • الأدوات الاحترافية التي ستجعلك تشعر وكأنك حصلت على عصا سحرية أنا لا أبالغ هنا هذه الأدوات ستجعلك تشعر وكأن لديك قوى خارقة، والجزء الأفضل؟ إنها نفس الأدوات التي يستخدمها المحترفون!

💡 إليك الأمر: لا تفكر حتى في محاولة حفظ كل شيء اليوم! الآن، أريدك فقط أن تشعر بتلك الشرارة من الحماس حول ما هو ممكن. التفاصيل ستلتصق بشكل طبيعي عندما نتدرب معًا هكذا يحدث التعلم الحقيقي!

يمكنك أخذ هذا الدرس على Microsoft Learn!

إذًا ما هي البرمجة بالضبط؟

حسنًا، دعونا نتناول السؤال الذي يساوي مليون دولار: ما هي البرمجة حقًا؟

سأعطيك قصة غيرت تمامًا كيف أفكر في هذا. الأسبوع الماضي، كنت أحاول شرح كيفية استخدام جهاز التحكم عن بعد الجديد للتلفزيون الذكي لوالدتي. وجدت نفسي أقول أشياء مثل "اضغط على الزر الأحمر، لكن ليس الزر الأحمر الكبير، الزر الأحمر الصغير على اليسار... لا، يسارك الآخر... حسنًا، الآن اضغط عليه لمدة ثانيتين، ليس واحدة، وليس ثلاث..." يبدو مألوفًا؟ 😅

هذه هي البرمجة! إنها فن إعطاء تعليمات مفصلة للغاية، خطوة بخطوة، لشيء قوي جدًا ولكنه يحتاج إلى كل شيء مكتوب بدقة. إلا أنك بدلًا من شرح ذلك لوالدتك (التي يمكنها أن تسأل "أي زر أحمر؟!")، تشرحه لجهاز كمبيوتر (الذي يفعل بالضبط ما تقوله، حتى لو لم يكن ما قلته هو ما كنت تقصده).

ما أذهلني عندما تعلمت هذا لأول مرة هو أن أجهزة الكمبيوتر في الواقع بسيطة جدًا في جوهرها. إنها تفهم حرفيًا شيئين فقط 1 و0، وهو في الأساس "نعم" و"لا" أو "تشغيل" و"إيقاف". هذا كل شيء! لكن هنا يأتي السحر لا يتعين علينا التحدث بلغة 1 و0 كما لو كنا في فيلم The Matrix. هنا تأتي لغات البرمجة للإنقاذ. إنها مثل وجود أفضل مترجم في العالم يأخذ أفكارك البشرية العادية ويحولها إلى لغة الكمبيوتر.

وهنا ما يجعلني أشعر بالقشعريرة كل صباح عندما أستيقظ: كل شيء رقمي في حياتك بدأ بشخص مثلك تمامًا، ربما جالسًا في بيجامته مع كوب قهوة، يكتب الكود على جهازه المحمول. ذلك الفلتر في Instagram الذي يجعلك تبدو رائعًا؟ شخص ما برمج ذلك. التوصية التي قادتك إلى أغنيتك المفضلة الجديدة؟ مطور بنى تلك الخوارزمية. التطبيق الذي يساعدك على تقسيم فاتورة العشاء مع أصدقائك؟ نعم، شخص ما فكر "هذا مزعج، أراهن أنني أستطيع إصلاح هذا" ثم... فعل ذلك!

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

بحث عن حقيقة ممتعة: إليك شيء رائع للبحث عنه عندما يكون لديك لحظة فراغ من تعتقد أنه كان أول مبرمج كمبيوتر في العالم؟ سأعطيك تلميحًا: قد لا يكون الشخص الذي تتوقعه! قصة هذا الشخص رائعة للغاية وتظهر أن البرمجة كانت دائمًا تدور حول حل المشكلات الإبداعي والتفكير خارج الصندوق.

لغات البرمجة مثل نكهات مختلفة من السحر

حسنًا، هذا قد يبدو غريبًا، لكن تحمل معي لغات البرمجة تشبه كثيرًا أنواع الموسيقى المختلفة. فكر في الأمر: لديك الجاز، الذي يتميز بالسلاسة والارتجال، والروك الذي يتميز بالقوة والبساطة، والكلاسيكية التي تتميز بالأناقة والبنية، والهيب هوب الذي يتميز بالإبداع والتعبير. كل نمط له طابعه الخاص، ومجتمع من المعجبين المتحمسين، وكل واحد مثالي لمزاج ومناسبة مختلفة.

لغات البرمجة تعمل بنفس الطريقة تمامًا! لن تستخدم نفس اللغة لبناء لعبة موبايل ممتعة كما تستخدم لتحليل كميات ضخمة من بيانات المناخ، تمامًا كما لن تعزف موسيقى الميتال في صف يوغا (حسنًا، معظم صفوف اليوغا على أي حال! 😄).

لكن هنا ما يذهلني كل مرة أفكر فيه: هذه اللغات مثل وجود مترجم صبور وعبقري بجانبك. يمكنك التعبير عن أفكارك بطريقة تبدو طبيعية لعقلك البشري، وهم يتعاملون مع كل العمل المعقد لتحويل ذلك إلى 1 و0 التي تتحدث بها أجهزة الكمبيوتر. إنه مثل وجود صديق يتحدث بطلاقة في "الإبداع البشري" و"منطق الكمبيوتر" ولا يتعب أبدًا، ولا يحتاج إلى استراحات قهوة، ولا يحكم عليك لطرح نفس السؤال مرتين!

لغات البرمجة الشهيرة واستخداماتها

اللغة الأفضل لـ لماذا هي شائعة
JavaScript تطوير الويب، واجهات المستخدم تعمل في المتصفحات وتشغل المواقع التفاعلية
Python علم البيانات، الأتمتة، الذكاء الاصطناعي سهلة القراءة والتعلم، مكتبات قوية
Java التطبيقات المؤسسية، تطبيقات أندرويد مستقلة عن المنصة، قوية للأنظمة الكبيرة
C# تطبيقات ويندوز، تطوير الألعاب دعم قوي من نظام مايكروسوفت
Go خدمات السحابة، الأنظمة الخلفية سريعة، بسيطة، مصممة للحوسبة الحديثة

لغات عالية المستوى مقابل لغات منخفضة المستوى

حسنًا، هذا كان المفهوم الذي أربكني عندما بدأت التعلم، لذا سأشارك التشبيه الذي جعلني أفهمه أخيرًا وآمل أن يساعدك أيضًا!

تخيل أنك تزور بلدًا لا تتحدث لغته، وتحتاج بشدة إلى العثور على أقرب حمام (كلنا مررنا بذلك، أليس كذلك؟ 😅):

  • البرمجة منخفضة المستوى تشبه تعلم اللهجة المحلية جيدًا بحيث يمكنك التحدث مع الجدة التي تبيع الفاكهة على الزاوية باستخدام المراجع الثقافية، واللغة العامية، والنكات الداخلية التي لا يفهمها إلا من نشأ هناك. مثير للإعجاب للغاية وفعال جدًا... إذا كنت تجيد اللغة! لكن مرهق جدًا عندما تحاول فقط العثور على حمام.

  • البرمجة عالية المستوى تشبه وجود ذلك الصديق المحلي الرائع الذي يفهمك تمامًا. يمكنك أن تقول "أحتاج حقًا إلى العثور على حمام" باللغة الإنجليزية العادية، وهم يتعاملون مع كل الترجمة الثقافية ويعطونك الاتجاهات بطريقة منطقية لعقلك غير المحلي.

في مصطلحات البرمجة:

  • اللغات منخفضة المستوى (مثل Assembly أو C) تتيح لك إجراء محادثات مفصلة للغاية مع أجهزة الكمبيوتر، لكنك تحتاج إلى التفكير مثل الآلة، وهو... حسنًا، دعنا نقول إنه تغيير عقلي كبير!
  • اللغات عالية المستوى (مثل JavaScript، Python، أو C#) تتيح لك التفكير مثل الإنسان بينما تتعامل هي مع كل لغة الآلة خلف الكواليس. بالإضافة إلى ذلك، لديها مجتمعات مرحبة مليئة بالأشخاص الذين يتذكرون كيف كان الأمر عندما كانوا مبتدئين ويريدون حقًا مساعدتك!

تخمين أي منها سأقترح عليك أن تبدأ به؟ 😉 اللغات عالية المستوى تشبه وجود عجلات تدريب لا تريد أبدًا إزالتها لأنها تجعل التجربة بأكملها أكثر متعة!

دعني أريك لماذا اللغات عالية المستوى أكثر ودية

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

سننظر إلى نفس المهمة مكتوبة بأسلوبين مختلفين تمامًا. كلاهما ينشئ ما يسمى تسلسل فيبوناتشي إنه نمط رياضي جميل حيث كل رقم هو مجموع الرقمين السابقين له: 0، 1، 1، 2، 3، 5، 8، 13... (معلومة ممتعة: ستجد هذا النمط في كل مكان في الطبيعة دوامات بذور عباد الشمس، أنماط أكواز الصنوبر، حتى طريقة تشكيل المجرات!)

مستعد لرؤية الفرق؟ لنبدأ!

لغة عالية المستوى (JavaScript) صديقة للإنسان:

// Step 1: Basic Fibonacci setup
const fibonacciCount = 10;
let current = 0;
let next = 1;

console.log('Fibonacci sequence:');

ما يفعله هذا الكود:

  • تعريف ثابت لتحديد عدد أرقام فيبوناتشي التي نريد إنشاؤها
  • تهيئة متغيرين لتتبع الرقم الحالي والرقم التالي في التسلسل
  • إعداد القيم الابتدائية (0 و1) التي تحدد نمط فيبوناتشي
  • عرض رسالة رأسية لتحديد الناتج الخاص بنا
// Step 2: Generate the sequence with a loop
for (let i = 0; i < fibonacciCount; i++) {
  console.log(`Position ${i + 1}: ${current}`);
  
  // Calculate next number in sequence
  const sum = current + next;
  current = next;
  next = sum;
}

تفصيل ما يحدث هنا:

  • التكرار عبر كل موقع في التسلسل باستخدام حلقة for
  • عرض كل رقم مع موقعه باستخدام تنسيق القالب النصي
  • حساب الرقم التالي في فيبوناتشي بإضافة القيم الحالية والتالية
  • تحديث متغيرات التتبع للانتقال إلى التكرار التالي
// Step 3: Modern functional approach
const generateFibonacci = (count) => {
  const sequence = [0, 1];
  
  for (let i = 2; i < count; i++) {
    sequence[i] = sequence[i - 1] + sequence[i - 2];
  }
  
  return sequence;
};

// Usage example
const fibSequence = generateFibonacci(10);
console.log(fibSequence);

فيما سبق، قمنا بـ:

  • إنشاء وظيفة قابلة لإعادة الاستخدام باستخدام صياغة السهم الحديثة
  • بناء مصفوفة لتخزين التسلسل الكامل بدلاً من العرض واحدًا تلو الآخر
  • استخدام فهرسة المصفوفة لحساب كل رقم جديد من القيم السابقة
  • إرجاع التسلسل الكامل للاستخدام المرن في أجزاء أخرى من البرنامج

لغة منخفضة المستوى (ARM Assembly) صديقة للكمبيوتر:

 area ascen,code,readonly
 entry
 code32
 adr r0,thumb+1
 bx r0
 code16
thumb
 mov r0,#00
 sub r0,r0,#01
 mov r1,#01
 mov r4,#10
 ldr r2,=0x40000000
back add r0,r1
 str r0,[r2]
 add r2,#04
 mov r3,r0
 mov r0,r1
 mov r1,r3
 sub r4,#01
 cmp r4,#00
 bne back
 end

لاحظ كيف أن نسخة JavaScript تقرأ تقريبًا كتعليمات باللغة الإنجليزية، بينما تستخدم نسخة Assembly أوامر غامضة تتحكم مباشرة في معالج الكمبيوتر. كلاهما ينجز نفس المهمة، لكن اللغة عالية المستوى أسهل بكثير لفهم البشر وكتابتها وصيانتها.

الاختلافات الرئيسية التي ستلاحظها:

  • الوضوح: JavaScript تستخدم أسماء وصفية مثل fibonacciCount بينما Assembly تستخدم تسميات غامضة مثل r0، r1
  • التعليقات: اللغات عالية المستوى تشجع على التعليقات التوضيحية التي تجعل الكود ذاتي التوثيق
  • الهيكل: تدفق JavaScript المنطقي يتطابق مع كيفية تفكير البشر في المشكلات خطوة بخطوة
  • الصيانة: تحديث نسخة JavaScript لمتطلبات مختلفة أمر بسيط وواضح عن سلسلة فيبوناتشي: هذا النمط الرقمي الرائع (حيث يساوي كل رقم مجموع الرقمين السابقين: 0، 1، 1، 2، 3، 5، 8...) يظهر حرفيًا في كل مكان في الطبيعة! ستجده في دوامات عباد الشمس، أنماط أكواز الصنوبر، طريقة انحناء أصداف النوتيلوس، وحتى في كيفية نمو فروع الأشجار. إنه أمر مذهل كيف يمكن للرياضيات والبرمجة مساعدتنا في فهم وإعادة إنشاء الأنماط التي تستخدمها الطبيعة لخلق الجمال!

اللبنات الأساسية التي تصنع السحر

حسنًا، الآن بعد أن رأيت كيف تبدو لغات البرمجة أثناء العمل، دعنا نحلل العناصر الأساسية التي تشكل كل برنامج تم كتابته على الإطلاق. فكر في هذه العناصر كالمكونات الأساسية لوصفتك المفضلة بمجرد أن تفهم ما يفعله كل عنصر، ستتمكن من قراءة وكتابة الكود في أي لغة تقريبًا!

هذا يشبه تعلم قواعد البرمجة. تذكر عندما كنت في المدرسة وتعلمت عن الأسماء والأفعال وكيفية تكوين الجمل؟ البرمجة لها نسختها الخاصة من القواعد، وبصراحة، إنها أكثر منطقية وتسامحًا من قواعد اللغة الإنجليزية! 😄

العبارات: التعليمات خطوة بخطوة

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

ما أحبه في العبارات هو مدى سهولة قراءتها عادةً. انظر إلى هذا المثال:

// Basic statements that perform single actions
const userName = "Alex";                    
console.log("Hello, world!");              
const sum = 5 + 3;                         

ما يفعله هذا الكود:

  • إعلان متغير ثابت لتخزين اسم المستخدم
  • عرض رسالة ترحيب في إخراج وحدة التحكم
  • حساب وتخزين نتيجة عملية رياضية
// Statements that interact with web pages
document.title = "My Awesome Website";      
document.body.style.backgroundColor = "lightblue";

خطوة بخطوة، ما يحدث هنا:

  • تعديل عنوان صفحة الويب الذي يظهر في علامة تبويب المتصفح
  • تغيير لون خلفية جسم الصفحة بالكامل

المتغيرات: نظام ذاكرة البرنامج الخاص بك

حسنًا، المتغيرات هي واحدة من مفاهيمي المفضلة على الإطلاق للتدريس لأنها تشبه الأشياء التي تستخدمها بالفعل كل يوم!

فكر في قائمة جهات الاتصال على هاتفك للحظة. أنت لا تحفظ أرقام الجميع بدلاً من ذلك، تحفظ "أمي"، "أفضل صديق"، أو "مكان البيتزا الذي يوصل حتى الساعة 2 صباحًا" وتترك هاتفك يتذكر الأرقام الفعلية. المتغيرات تعمل بنفس الطريقة تمامًا! إنها مثل حاويات ذات علامات حيث يمكن لبرنامجك تخزين المعلومات واسترجاعها لاحقًا باستخدام اسم منطقي.

ما هو رائع حقًا: يمكن أن تتغير المتغيرات أثناء تشغيل البرنامج (ومن هنا جاء اسم "متغير" هل ترى ما فعلوه هنا؟). تمامًا كما قد تقوم بتحديث جهة اتصال مكان البيتزا عندما تكتشف مكانًا أفضل، يمكن تحديث المتغيرات عندما يتعلم برنامجك معلومات جديدة أو عندما تتغير الظروف!

دعني أريك كيف يمكن أن يكون هذا بسيطًا بشكل جميل:

// Step 1: Creating basic variables
const siteName = "Weather Dashboard";        
let currentWeather = "sunny";               
let temperature = 75;                       
let isRaining = false;                      

فهم هذه المفاهيم:

  • تخزين القيم الثابتة في متغيرات const (مثل اسم الموقع)
  • استخدام let للقيم التي يمكن أن تتغير خلال البرنامج
  • تعيين أنواع بيانات مختلفة: النصوص، الأرقام، والقيم المنطقية (صحيح/خطأ)
  • اختيار أسماء وصفية تشرح ما يحتويه كل متغير
// Step 2: Working with objects to group related data
const weatherData = {                       
  location: "San Francisco",
  humidity: 65,
  windSpeed: 12
};

في المثال أعلاه، قمنا بـ:

  • إنشاء كائن لتجميع معلومات الطقس ذات الصلة معًا
  • تنظيم قطع متعددة من البيانات تحت اسم متغير واحد
  • استخدام أزواج المفتاح والقيمة لتسمية كل قطعة من المعلومات بوضوح
// Step 3: Using and updating variables
console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
console.log(`Wind speed: ${weatherData.windSpeed} mph`);

// Updating changeable variables
currentWeather = "cloudy";                  
temperature = 68;                          

لنقم بفهم كل جزء:

  • عرض المعلومات باستخدام القوالب النصية مع صيغة ${}
  • الوصول إلى خصائص الكائن باستخدام التدوين النقطي (weatherData.windSpeed)
  • تحديث المتغيرات المعلنة باستخدام let لتعكس الظروف المتغيرة
  • دمج متغيرات متعددة لإنشاء رسائل ذات معنى
// Step 4: Modern destructuring for cleaner code
const { location, humidity } = weatherData; 
console.log(`${location} humidity: ${humidity}%`);

ما تحتاج إلى معرفته:

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

تدفق التحكم: تعليم برنامجك التفكير

حسنًا، هنا حيث تصبح البرمجة مذهلة للغاية! تدفق التحكم هو أساسًا تعليم برنامجك كيفية اتخاذ قرارات ذكية، تمامًا كما تفعل كل يوم دون حتى التفكير في الأمر.

تخيل هذا: هذا الصباح ربما مررت بشيء مثل "إذا كان الجو ممطرًا، سأحمل مظلة. إذا كان الجو باردًا، سأرتدي معطفًا. إذا كنت متأخرًا، سأترك الإفطار وأحصل على قهوة في الطريق." عقلك يتبع هذه المنطقية الشرطية عشرات المرات كل يوم!

هذا ما يجعل البرامج تبدو ذكية وحيوية بدلاً من مجرد اتباع نص ممل ومتوقع. يمكنها بالفعل النظر إلى موقف، تقييم ما يحدث، والاستجابة بشكل مناسب. إنه مثل إعطاء برنامجك عقلًا يمكنه التكيف واتخاذ الخيارات!

هل تريد أن ترى كيف يعمل هذا بشكل جميل؟ دعني أريك:

// Step 1: Basic conditional logic
const userAge = 17;

if (userAge >= 18) {
  console.log("You can vote!");
} else {
  const yearsToWait = 18 - userAge;
  console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
}

ما يفعله هذا الكود:

  • التحقق مما إذا كان عمر المستخدم يلبي متطلبات التصويت
  • تنفيذ كتل كود مختلفة بناءً على نتيجة الشرط
  • حساب وعرض المدة حتى أهلية التصويت إذا كان العمر أقل من 18
  • تقديم ملاحظات محددة ومفيدة لكل سيناريو
// Step 2: Multiple conditions with logical operators
const userAge = 17;
const hasPermission = true;

if (userAge >= 18 && hasPermission) {
  console.log("Access granted: You can enter the venue.");
} else if (userAge >= 16) {
  console.log("You need parent permission to enter.");
} else {
  console.log("Sorry, you must be at least 16 years old.");
}

تفصيل ما يحدث هنا:

  • دمج شروط متعددة باستخدام عامل && (و)
  • إنشاء تسلسل هرمي للشروط باستخدام else if لسيناريوهات متعددة
  • التعامل مع جميع الحالات الممكنة باستخدام عبارة else النهائية
  • تقديم ملاحظات واضحة وقابلة للتنفيذ لكل حالة مختلفة
// Step 3: Concise conditional with ternary operator
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);

ما تحتاج إلى تذكره:

  • استخدام العامل الثلاثي (? :) للشروط ذات الخيارين البسيطين
  • كتابة الشرط أولاً، متبوعًا بـ ?، ثم النتيجة الصحيحة، ثم :، ثم النتيجة الخاطئة
  • تطبيق هذا النمط عندما تحتاج إلى تعيين قيم بناءً على الشروط
// Step 4: Handling multiple specific cases
const dayOfWeek = "Tuesday";

switch (dayOfWeek) {
  case "Monday":
  case "Tuesday":
  case "Wednesday":
  case "Thursday":
  case "Friday":
    console.log("It's a weekday - time to work!");
    break;
  case "Saturday":
  case "Sunday":
    console.log("It's the weekend - time to relax!");
    break;
  default:
    console.log("Invalid day of the week");
}

هذا الكود يحقق التالي:

  • مطابقة قيمة المتغير مع حالات محددة متعددة
  • تجميع الحالات المتشابهة معًا (أيام الأسبوع مقابل عطلات نهاية الأسبوع)
  • تنفيذ كتلة الكود المناسبة عند العثور على تطابق
  • تضمين حالة default للتعامل مع القيم غير المتوقعة
  • استخدام عبارات break لمنع الكود من الاستمرار إلى الحالة التالية

💡 تشبيه واقعي: فكر في تدفق التحكم كأنك تمتلك نظام GPS الأكثر صبرًا في العالم يقدم لك التوجيهات. قد يقول "إذا كان هناك ازدحام في شارع الرئيسي، خذ الطريق السريع بدلاً من ذلك. إذا كان هناك بناء يحجب الطريق السريع، جرب الطريق ذو المناظر الخلابة." تستخدم البرامج نفس النوع من المنطق الشرطي للاستجابة بذكاء لمواقف مختلفة وتقديم أفضل تجربة ممكنة للمستخدمين.

ما القادم: سنستمتع كثيرًا بالغوص أعمق في هذه المفاهيم بينما نواصل هذه الرحلة الرائعة معًا! الآن، ركز فقط على الشعور بالإثارة حول كل الإمكانيات المذهلة التي تنتظرك. المهارات والتقنيات المحددة ستترسخ بشكل طبيعي بينما نتدرب معًا أعدك أن هذا سيكون أكثر متعة مما تتوقع!

أدوات العمل

حسنًا، هذا هو الجزء الذي يجعلني متحمسًا لدرجة أنني بالكاد أستطيع التحكم في نفسي! 🚀 نحن على وشك الحديث عن الأدوات الرائعة التي ستجعلك تشعر وكأنك حصلت للتو على مفاتيح سفينة فضائية رقمية.

تعرف كيف يمتلك الطاهي تلك السكاكين المتوازنة تمامًا التي تبدو وكأنها امتداد لأيديهم؟ أو كيف يمتلك الموسيقي تلك الجيتار التي تبدو وكأنها تغني بمجرد لمسها؟ حسنًا، المطورون لديهم نسختهم الخاصة من هذه الأدوات السحرية، وهنا ما سيذهلك تمامًا معظمها مجاني تمامًا!

أنا متحمس جدًا لمشاركة هذه الأدوات معك لأنها غيرت تمامًا طريقة بناء البرمجيات. نحن نتحدث عن مساعدي البرمجة المدعومين بالذكاء الاصطناعي الذين يمكنهم المساعدة في كتابة الكود (أنا لا أمزح!)، بيئات السحابة حيث يمكنك بناء تطبيقات كاملة من أي مكان مع اتصال واي فاي، وأدوات تصحيح الأخطاء متطورة جدًا لدرجة أنها تشبه امتلاك رؤية بالأشعة السينية لبرامجك.

وهنا الجزء الذي لا يزال يجعلني أشعر بالقشعريرة: هذه ليست "أدوات للمبتدئين" التي ستتجاوزها. هذه هي نفس الأدوات الاحترافية التي يستخدمها المطورون في Google وNetflix واستوديوهات التطبيقات المستقلة التي تحبها في هذه اللحظة. ستشعر وكأنك محترف حقيقي أثناء استخدامها!

محررات الكود وبيئات التطوير المتكاملة: أصدقاؤك الرقميون الجدد

دعنا نتحدث عن محررات الكود هذه ستصبح حقًا أماكنك المفضلة للتواجد! فكر فيها كملاذك الشخصي للبرمجة حيث ستقضي معظم وقتك في صياغة وإتقان إبداعاتك الرقمية.

لكن هنا ما هو سحري تمامًا بشأن المحررات الحديثة: إنها ليست مجرد محررات نصوص فاخرة. إنها مثل وجود أفضل مرشد برمجة بجانبك على مدار الساعة طوال أيام الأسبوع. إنها تلتقط أخطائك الإملائية قبل أن تلاحظها، تقترح تحسينات تجعلك تبدو وكأنك عبقري، تساعدك على فهم ما يفعله كل جزء من الكود، وبعضها يمكنه حتى التنبؤ بما ستكتبه وتعرض إنهاء أفكارك!

أتذكر عندما اكتشفت الإكمال التلقائي لأول مرة شعرت حرفيًا وكأنني أعيش في المستقبل. تبدأ بكتابة شيء، ويقول محررك، "مرحبًا، هل كنت تفكر في هذه الوظيفة التي تفعل بالضبط ما تحتاجه؟" إنه مثل وجود قارئ أفكار كرفيق برمجة!

ما الذي يجعل هذه المحررات مذهلة للغاية؟

محررات الكود الحديثة تقدم مجموعة مذهلة من الميزات المصممة لتعزيز إنتاجيتك:

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

🎥 مصدر فيديو: هل تريد رؤية هذه الأدوات أثناء العمل؟ تحقق من فيديو أدوات العمل للحصول على نظرة شاملة.

المحررات الموصى بها لتطوير الويب

Visual Studio Code (مجاني)

  • الأكثر شعبية بين مطوري الويب
  • نظام إضافات ممتاز
  • محطة مدمجة وتكامل Git
  • الإضافات الضرورية:
    • GitHub Copilot - اقتراحات الكود المدعومة بالذكاء الاصطناعي
    • Live Share - التعاون في الوقت الفعلي
    • Prettier - تنسيق الكود تلقائيًا
    • Code Spell Checker - اكتشاف الأخطاء الإملائية في الكود

JetBrains WebStorm (مدفوع، مجاني للطلاب)

  • أدوات تصحيح واختبار متقدمة
  • إكمال الكود الذكي
  • التحكم في الإصدارات مدمج

بيئات التطوير السحابية (أسعار متنوعة)

💡 نصيحة للبدء: ابدأ بـ Visual Studio Code إنه مجاني، مستخدم على نطاق واسع في الصناعة، وله مجتمع ضخم يقدم دروسًا وإضافات مفيدة.

متصفحات الويب: مختبرك السري للتطوير

حسنًا، استعد لتكون مذهولًا تمامًا! تعرف كيف كنت تستخدم المتصفحات لتصفح وسائل التواصل الاجتماعي ومشاهدة الفيديوهات؟ حسنًا، اتضح أنها كانت تخفي مختبرًا سريًا مذهلًا للمطورين طوال الوقت، فقط في انتظارك لاكتشافه!

كل مرة تنقر بزر الماوس الأيمن على صفحة ويب وتختار "Inspect Element"، فإنك تفتح عالمًا مخفيًا من أدوات المطورين التي هي بصراحة أكثر قوة من بعض البرامج المكلفة التي كنت أدفع مئات الدولارات للحصول عليها. إنه مثل اكتشاف أن مطبخك العادي كان يخفي مختبرًا للطهاة المحترفين خلف لوحة سرية!

أول مرة أظهر لي أحدهم أدوات المطور في المتصفح، قضيت حوالي ثلاث ساعات فقط أنقر وأقول "انتظر، يمكنه فعل ذلك أيضًا؟!" يمكنك حرفيًا تعديل أي موقع في الوقت الفعلي، رؤية مدى سرعة تحميل كل شيء، اختبار كيف يبدو موقعك على أجهزة مختلفة، وحتى تصحيح JavaScript مثل محترف حقيقي. إنه مذهل تمامًا!

لماذا المتصفحات هي سلاحك السري:

عندما تنشئ موقعًا أو تطبيقًا ويب، تحتاج إلى رؤية كيف يبدو ويتصرف في العالم الحقيقي. المتصفحات لا تعرض عملك فقط، بل تقدم أيضًا ملاحظات تفصيلية حول الأداء، إمكانية الوصول، والمشكلات المحتملة.

أدوات المطور في المتصفح (DevTools)

المتصفحات الحديثة تحتوي على مجموعات تطوير شاملة:

فئة الأدوات ما تفعله مثال على الاستخدام
مفتش العناصر عرض وتعديل HTML/CSS في الوقت الفعلي تعديل التصميم لرؤية النتائج فورًا
وحدة التحكم (Console) عرض رسائل الخطأ واختبار JavaScript تصحيح المشكلات وتجربة الأكواد
مراقب الشبكة (Network Monitor) تتبع كيفية تحميل الموارد تحسين الأداء وأوقات التحميل
مدقق الوصول (Accessibility Checker) اختبار التصميم الشامل ضمان عمل موقعك لجميع المستخدمين
محاكي الأجهزة (Device Simulator) معاينة على أحجام شاشات مختلفة اختبار التصميم المتجاوب دون الحاجة إلى أجهزة متعددة

المتصفحات الموصى بها للتطوير

  • Chrome - أدوات تطوير قياسية مع توثيق واسع النطاق
  • Firefox - أدوات ممتازة لشبكة CSS وإمكانية الوصول
  • Edge - مبني على Chromium مع موارد تطوير من Microsoft

⚠️ نصيحة مهمة للاختبار: قم دائمًا باختبار مواقعك على متصفحات متعددة! ما يعمل بشكل مثالي في Chrome قد يبدو مختلفًا في Safari أو Firefox. المطورون المحترفون يختبرون عبر جميع المتصفحات الرئيسية لضمان تجربة مستخدم متسقة.

أدوات سطر الأوامر: بوابتك إلى قوى المطور الخارقة

حسنًا، دعونا نكون صادقين تمامًا هنا بشأن سطر الأوامر، لأنني أريدك أن تسمع هذا من شخص يفهمه حقًا. عندما رأيته لأول مرة مجرد شاشة سوداء مخيفة مع نص يومض فكرت حرفيًا، "لا، بالتأكيد لا! يبدو هذا وكأنه شيء من فيلم هاكرز من الثمانينيات، وأنا بالتأكيد لست ذكيًا بما يكفي لهذا!" 😅

لكن إليك ما كنت أتمنى أن يخبرني به أحد في ذلك الوقت، وما أقوله لك الآن: سطر الأوامر ليس مخيفًا إنه في الواقع مثل إجراء محادثة مباشرة مع جهاز الكمبيوتر الخاص بك. فكر فيه كالفارق بين طلب الطعام عبر تطبيق فاخر مع صور وقوائم (وهو أمر لطيف وسهل) مقابل الذهاب إلى مطعمك المحلي المفضل حيث يعرف الطاهي بالضبط ما تحب ويمكنه إعداد شيء مثالي بمجرد أن تقول "فاجئني بشيء رائع."

سطر الأوامر هو المكان الذي يذهب إليه المطورون ليشعروا وكأنهم سحرة حقيقيون. تكتب بضع كلمات تبدو سحرية (حسنًا، إنها مجرد أوامر، لكنها تبدو سحرية!)، تضغط على Enter، وها أنت ذا لقد أنشأت هيكل مشروع كامل، أو قمت بتثبيت أدوات قوية من جميع أنحاء العالم، أو نشرت تطبيقك على الإنترنت ليشاهده الملايين. بمجرد أن تتذوق هذه القوة لأول مرة، يصبح الأمر إدمانيًا بصراحة!

لماذا سيصبح سطر الأوامر أداتك المفضلة:

بينما تعد الواجهات الرسومية رائعة للعديد من المهام، يتفوق سطر الأوامر في الأتمتة والدقة والسرعة. تعمل العديد من أدوات التطوير بشكل أساسي من خلال واجهات سطر الأوامر، وتعلم استخدامها بكفاءة يمكن أن يحسن إنتاجيتك بشكل كبير.

# Step 1: Create and navigate to project directory
mkdir my-awesome-website
cd my-awesome-website

ما يفعله هذا الكود:

  • إنشاء دليل جديد باسم "my-awesome-website" لمشروعك
  • التنقل إلى الدليل الذي تم إنشاؤه حديثًا لبدء العمل
# Step 2: Initialize project with package.json
npm init -y

# Install modern development tools
npm install --save-dev vite prettier eslint
npm install --save-dev @eslint/js

خطوة بخطوة، ما يحدث هنا:

  • تهيئة مشروع جديد لـ Node.js بإعدادات افتراضية باستخدام npm init -y
  • تثبيت Vite كأداة بناء حديثة للتطوير السريع وبناء الإنتاج
  • إضافة Prettier لتنسيق الأكواد تلقائيًا وESLint لفحص جودة الأكواد
  • استخدام العلامة --save-dev لتحديد هذه الأدوات كاعتماديات خاصة بالتطوير فقط
# Step 3: Create project structure and files
mkdir src assets
echo '<!DOCTYPE html><html><head><title>My Site</title></head><body><h1>Hello World</h1></body></html>' > index.html

# Start development server
npx vite

في المثال أعلاه، قمنا بـ:

  • تنظيم مشروعنا بإنشاء مجلدات منفصلة للكود المصدري والموارد
  • إنشاء ملف HTML أساسي مع هيكل وثيقة صحيح
  • تشغيل خادم تطوير Vite لإعادة التحميل المباشر واستبدال الوحدات الساخنة

أدوات سطر الأوامر الأساسية لتطوير الويب

الأداة الغرض لماذا تحتاجها
Git التحكم في الإصدارات تتبع التغييرات، التعاون مع الآخرين، نسخ عملك احتياطيًا
Node.js & npm بيئة تشغيل JavaScript وإدارة الحزم تشغيل JavaScript خارج المتصفحات، تثبيت أدوات التطوير الحديثة
Vite أداة بناء وخادم تطوير تطوير سريع للغاية مع استبدال الوحدات الساخنة
ESLint جودة الأكواد العثور على المشكلات في JavaScript وإصلاحها تلقائيًا
Prettier تنسيق الأكواد الحفاظ على تنسيق الأكواد بشكل متسق وقابل للقراءة

خيارات خاصة بالأنظمة

Windows:

  • Windows Terminal - محطة حديثة وغنية بالميزات
  • PowerShell 💻 - بيئة برمجة نصية قوية
  • Command Prompt 💻 - سطر الأوامر التقليدي لنظام Windows

macOS:

  • Terminal 💻 - تطبيق المحطة المدمج
  • iTerm2 - محطة محسنة بميزات متقدمة

Linux:

  • Bash 💻 - القشرة القياسية لنظام Linux
  • KDE Konsole - محاكي محطة متقدم

💻 = مثبت مسبقًا على نظام التشغيل

🎯 مسار التعلم: ابدأ بالأوامر الأساسية مثل cd (تغيير الدليل)، ls أو dir (عرض الملفات)، وmkdir (إنشاء مجلد). تدرب على أوامر سير العمل الحديثة مثل npm install، git status، وcode . (يفتح الدليل الحالي في VS Code). مع زيادة راحتك، ستتعلم بشكل طبيعي المزيد من الأوامر المتقدمة وتقنيات الأتمتة.

التوثيق: معلمك المتاح دائمًا

حسنًا، دعني أشاركك سرًا صغيرًا سيجعلك تشعر بتحسن كبير بشأن كونك مبتدئًا: حتى أكثر المطورين خبرة يقضون جزءًا كبيرًا من وقتهم في قراءة التوثيق. وهذا ليس لأنهم لا يعرفون ما يفعلونه بل هو في الواقع علامة على الحكمة!

فكر في التوثيق كأنك تمتلك معلمين صبورين ومطلعين متاحين على مدار الساعة. عالق في مشكلة الساعة 2 صباحًا؟ التوثيق موجود ليمنحك عناقًا افتراضيًا دافئًا والإجابة التي تحتاجها بالضبط. تريد معرفة ميزة جديدة رائعة يتحدث عنها الجميع؟ التوثيق يدعمك بأمثلة خطوة بخطوة. تحاول فهم سبب عمل شيء ما بالطريقة التي يعمل بها؟ نعم، التوثيق جاهز لشرح ذلك بطريقة تجعلك تفهمها أخيرًا!

إليك المكان الذي يحدث فيه السحر الحقيقي:

يقضي المطورون المحترفون جزءًا كبيرًا من وقتهم في قراءة التوثيق ليس لأنهم لا يعرفون ما يفعلونه، ولكن لأن عالم تطوير الويب يتطور بسرعة كبيرة لدرجة أن البقاء على اطلاع يتطلب تعلمًا مستمرًا. يساعدك التوثيق الجيد على فهم ليس فقط كيفية استخدام شيء ما، ولكن لماذا ومتى تستخدمه.

موارد التوثيق الأساسية

Mozilla Developer Network (MDN)

  • المعيار الذهبي لتوثيق تقنيات الويب
  • أدلة شاملة لـ HTML وCSS وJavaScript
  • يتضمن معلومات توافق المتصفحات
  • يحتوي على أمثلة عملية وعروض تفاعلية

Web.dev (من Google)

  • أفضل ممارسات تطوير الويب الحديث
  • أدلة تحسين الأداء
  • مبادئ التصميم الشامل وإمكانية الوصول
  • دراسات حالة من مشاريع حقيقية

Microsoft Developer Documentation

  • موارد تطوير متصفح Edge
  • أدلة تطبيقات الويب التقدمية
  • رؤى حول التطوير عبر الأنظمة الأساسية

Frontend Masters Learning Paths

  • مناهج تعليمية منظمة
  • دورات فيديو من خبراء الصناعة
  • تمارين برمجة عملية

📚 استراتيجية الدراسة: لا تحاول حفظ التوثيق بدلاً من ذلك، تعلم كيفية التنقل فيه بكفاءة. ضع إشارة مرجعية على المراجع التي تستخدمها بشكل متكرر وتدرب على استخدام وظائف البحث للعثور على معلومات محددة بسرعة.

فكرة للتفكير: إليك شيء مثير للتفكير كيف تعتقد أن الأدوات المستخدمة لبناء المواقع (التطوير) تختلف عن الأدوات المستخدمة لتصميم شكلها (التصميم)؟ إنه مثل الفرق بين أن تكون مهندسًا معماريًا يصمم منزلًا جميلًا والمقاول الذي يبنيه فعليًا. كلاهما ضروري، لكنهما يحتاجان إلى صناديق أدوات مختلفة! هذا النوع من التفكير سيساعدك حقًا على رؤية الصورة الأكبر لكيفية ظهور المواقع إلى الحياة.

تحدي GitHub Copilot Agent 🚀

استخدم وضع الوكيل لإكمال التحدي التالي:

الوصف: استكشف ميزات محرر أكواد حديث أو بيئة تطوير متكاملة (IDE) ووضح كيف يمكن أن تحسن سير عملك كمطور ويب.

المهمة: اختر محرر أكواد أو بيئة تطوير متكاملة (مثل Visual Studio Code أو WebStorm أو IDE قائم على السحابة). قم بسرد ثلاث ميزات أو إضافات تساعدك على كتابة الأكواد أو تصحيحها أو صيانتها بكفاءة أكبر. لكل ميزة، قدم شرحًا موجزًا عن كيفية تحسينها لسير عملك.


🚀 التحدي

حسنًا، أيها المحقق، هل أنت مستعد لأول قضية لك؟

الآن بعد أن حصلت على هذه الأساسيات الرائعة، لدي مغامرة ستساعدك على رؤية مدى تنوع وروعة عالم البرمجة. وتذكر هذا ليس عن كتابة الأكواد بعد، لذا لا ضغط هنا! فكر في نفسك كمحقق لغات برمجة في أول قضية مثيرة لك!

مهمتك، إذا اخترت قبولها:

  1. كن مستكشفًا للغات البرمجة: اختر ثلاث لغات برمجة من عوالم مختلفة تمامًا ربما واحدة تبني مواقع الويب، وأخرى تنشئ تطبيقات الجوال، وثالثة تحلل البيانات للعلماء. ابحث عن أمثلة لنفس المهمة البسيطة مكتوبة بكل لغة. أعدك أنك ستندهش تمامًا من مدى اختلافها أثناء القيام بنفس الشيء!

  2. اكتشف قصص نشأتها: ما الذي يجعل كل لغة مميزة؟ إليك حقيقة رائعة كل لغة برمجة تم إنشاؤها لأن شخصًا ما فكر، "تعرف ماذا؟ يجب أن يكون هناك طريقة أفضل لحل هذه المشكلة المحددة." هل يمكنك معرفة ما كانت تلك المشكلات؟ بعض هذه القصص مثيرة للاهتمام حقًا!

  3. تعرف على مجتمعاتها: تحقق من مدى ترحيب وشغف مجتمع كل لغة. البعض لديه ملايين المطورين الذين يشاركون المعرفة ويساعدون بعضهم البعض، والبعض الآخر أصغر ولكنه مترابط وداعم للغاية. ستحب رؤية الشخصيات المختلفة لهذه المجتمعات!

  4. اتبع شعورك الداخلي: أي لغة تبدو أكثر سهولة بالنسبة لك الآن؟ لا تقلق بشأن اتخاذ "الاختيار المثالي" فقط استمع إلى غرائزك! لا توجد إجابة خاطئة هنا، ويمكنك دائمًا استكشاف لغات أخرى لاحقًا.

عمل تحري إضافي: اكتشف ما إذا كان بإمكانك معرفة المواقع أو التطبيقات الرئيسية التي تم بناؤها بكل لغة. أضمن أنك ستتفاجأ عندما تعرف ما الذي يشغل Instagram أو Netflix أو تلك اللعبة التي لا تستطيع التوقف عن لعبها!

💡 تذكر: لست بحاجة إلى أن تصبح خبيرًا في أي من هذه اللغات اليوم. أنت فقط تتعرف على الحي قبل أن تقرر أين تريد أن تستقر. خذ وقتك، استمتع بالأمر، ودع فضولك يقودك!

لنحتفل بما اكتشفته!

يا إلهي، لقد استوعبت الكثير من المعلومات الرائعة اليوم! أنا متحمس حقًا لرؤية مدى استيعابك لهذه الرحلة المذهلة. وتذكر هذا ليس اختبارًا تحتاج فيه إلى الحصول على كل شيء بشكل مثالي. هذا أشبه بالاحتفال بكل الأشياء الرائعة التي تعلمتها عن هذا العالم المثير الذي أنت على وشك الغوص فيه!

خذ اختبار ما بعد الدرس

المراجعة والدراسة الذاتية

خذ وقتك لاستكشاف الأمر واستمتع به!

لقد غطيت الكثير اليوم، وهذا شيء يجب أن تفخر به! الآن يأتي الجزء الممتع استكشاف المواضيع التي أثارت فضولك. تذكر، هذا ليس واجبًا منزليًا إنها مغامرة!

تعمق في ما يثير حماسك:

تفاعل مع لغات البرمجة:

  • قم بزيارة المواقع الرسمية لـ 2-3 لغات أثارت اهتمامك. لكل منها شخصيتها وقصتها!
  • جرب بعض منصات البرمجة عبر الإنترنت مثل CodePen، JSFiddle، أو Replit. لا تخف من التجربة لن تكسر شيئًا!
  • اقرأ عن كيفية نشأة لغتك المفضلة. بجدية، بعض هذه القصص مثيرة وستساعدك على فهم سبب عمل اللغات بالطريقة التي تعمل بها.

تعرف على أدواتك الجديدة:

  • قم بتنزيل Visual Studio Code إذا لم تكن قد فعلت ذلك بالفعل إنه مجاني وستحبه!
  • اقض بضع دقائق في تصفح سوق الإضافات. إنه مثل متجر التطبيقات لمحرر الأكواد الخاص بك!
  • افتح أدوات المطور في متصفحك وانقر فقط. لا تقلق بشأن فهم كل شيء فقط تعود على ما هو موجود.

انضم إلى المجتمع:

  • تابع بعض مجتمعات المطورين على Dev.to، Stack Overflow، أو GitHub. مجتمع البرمجة مرحب جدًا بالمبتدئين!
  • شاهد بعض مقاطع الفيديو التعليمية للمبتدئين على YouTube. هناك العديد من المبدعين الرائعين الذين يتذكرون تمامًا كيف كان الأمر عندما بدأوا في تعلم البرمجة.
  • فكر في الانضمام إلى لقاءات محلية أو مجتمعات عبر الإنترنت. صدقني، المطورون يحبون مساعدة المبتدئين!

🎯 اسمع، هذا ما أريدك أن تتذكره: لا يُتوقع منك أن تصبح خبيرًا في البرمجة بين ليلة وضحاها! في الوقت الحالي، أنت فقط تتعرف على هذا العالم الجديد الرائع الذي ستصبح جزءًا منه. خذ وقتك، استمتع بالرحلة، وتذكر كل مطور تعجب به كان يجلس في نفس مكانك الآن، يشعر بالحماس وربما ببعض التوتر. هذا أمر طبيعي تمامًا، ويعني أنك تسير في الطريق الصحيح!

المهمة

قراءة الوثائق

💡 تلميح صغير لمهمتك: سأكون سعيدًا جدًا برؤيتك تستكشف بعض الأدوات التي لم نتحدث عنها بعد! تجاوز المحررات، المتصفحات، وأدوات سطر الأوامر التي ناقشناها بالفعل هناك عالم مذهل مليء بأدوات التطوير الرائعة ينتظر أن تكتشفه. ابحث عن الأدوات التي يتم تحديثها بانتظام ولديها مجتمعات نشطة وداعمة (هذه عادةً ما تحتوي على أفضل الشروحات وأشخاص داعمين جدًا عندما تواجه صعوبة وتحتاج إلى مساعدة ودية).


إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالترجمة البشرية الاحترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.