🔷 C#

البرنامج الأول: Hello World وأساسيات بناء الجملة في C#

```html

ما هذا ولماذا؟

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

عندما تكتب أول برنامج لك، ستفهم الشيء الرئيسي: الكمبيوتر ليس روبوتًا ذكيًا، بل هو مجرد منفذ للأوامر. يفعل بالضبط ما تقوله له، وليس غير ذلك. "Hello World" هو أول محادثة لك مع الكمبيوتر بلغة C#.

القواعد النحوية وأمثلة الكود

القواعد النحوية هي قواعد لغة البرمجة، تمامًا كما في اللغة العربية هناك قواعد: "الألف واللام الشمسية والقمرية". في C# أيضًا هناك قواعدها الخاصة. دعنا نلقي نظرة على أبسط برنامج:

using System;
class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

دعنا نحلله جزءًا جزءًا:

  • using System; — هذا مثل توصيل مكتبة. تخيل أنك تريد رسم صورة، لكن ليس لديك ألوان. "using System" هو مثل قول: "أعطني صندوق ألوان".
  • class Program — هذا حاوية لشفرة البرنامج. مثل صندوق للألعاب.
  • static void Main() — هذه هي نقطة الدخول. عندما يبدأ البرنامج، يبحث عن هذا المكان بالضبط ويبدأ في تنفيذ الأوامر.
  • Console.WriteLine(...) — الأمر الذي يطبع النص على الشاشة.

مثال 2: طباعة عدة أسطر

using System;
class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, world!");
        Console.WriteLine("My name is C#");
        Console.WriteLine("I am learning to program");
    }
}

كل أمر Console.WriteLine يطبع سطرًا جديدًا. لاحظ: بعد كل أمر تأتي فاصلة منقوطة ; — هذه مثل النقطة في نهاية الجملة. إذا نسيتها، لن يفهم الكمبيوتر أين ينتهي الأمر.

مثال 3: طباعة الأرقام والنصوص معًا

using System;
class Program
{
    static void Main()
    {
        int age = 12;
        Console.WriteLine("I am " + age + " years old");
    }
}

هنا أنشأنا متغيرًا age (العمر) ووضعنا فيه الرقم 12. ثم قمنا بدمج النص والرقم باستخدام علامة +. يُسمى هذا "الربط" — وهو لصق السلاسل النصية.

مثال 4: استخدام المتغيرات

using System;
class Program
{
    static void Main()
    {
        string name = "Anna";
        int year = 2024;
        Console.WriteLine("Hello, " + name + "!");
        Console.WriteLine("It is " + year + " now");
    }
}

المتغير هو مثل صندوق عليه ملصق. على الصندوق مكتوب "name"، وداخله "Anna". النوع string للنصوص، و int للأعداد الصحيحة.

مثال 5: عمليات حسابية بسيطة

using System;
class Program
{
    static void Main()
    {
        int a = 5;
        int b = 3;
        int sum = a + b;
        Console.WriteLine("5 + 3 = " + sum);
    }
}

يمكن للكمبيوتر جمع الأرقام. أنشأنا متغيرين، وجمعناهما، وطبعنا النتيجة. لاحظ: sum هو أيضًا متغير، وضعنا فيه نتيجة الجمع.

مقارنة مع Python

Python هي لغة برمجة أخرى تُدرس غالبًا في المدارس. دعنا نرى كيف يبدو نفس برنامج "Hello World" في Python:

print("Hello, World!")

هل ترى الفرق؟ في Python سطر واحد فقط، بينما في C# هناك 7 أسطر كاملة. لماذا؟ C# مثل شاحنة ثقيلة: إنها قوية، لكنها تتطلب تحضيرًا أكبر. Python مثل دراجة هوائية: التعلم سريع، لكن الإمكانيات أقل للمشاريع الكبيرة.

لنقارن مثال المتغيرات:

name = "Anna"
year = 2024
print("Hello, " + name + "!")
print("It is " + str(year) + " now")

في Python لا تحتاج لكتابة string أو int — فهو يخمن نوع البيانات بنفسه. لكن في C# يجب أن تحدد بوضوح: "هذا نص"، "هذا رقم". هذا مثل وضع ملصقات على الصناديق: في Python الصناديق شفافة، بينما في C# غير شفافة، لكنك تعرف بالضبط ما بداخلها.

الفرق الرئيسي: C# يتطلب كودًا أكثر، لكنه أكثر صرامة ووضوحًا للبرامج الكبيرة. Python أسهل للبدء، لكن من السهل ارتكاب خطأ يصعب العثور عليه.

الأخطاء النموذجية للمبتدئين

إليك الأخطاء الأكثر شيوعًا التي يرتكبها المبرمجون المبتدئون في C#:

  • نسيان الفاصلة المنقوطة — الخطأ الأكثر شيوعًا. يجب أن ينتهي كل أمر بـ ;. إذا نسيتها، سيظهر خطأ أحمر من الكمبيوتر.
  • علامات الاقتباس الخاطئة — في C# تُستخدم فقط علامات الاقتباس المستقيمة "، وليس «» أو ''. النص دائمًا بين علامتي اقتباس مزدوجتين.
  • خطأ في كتابة الأوامر — Console.WriteLine تُكتب بحرف C كبير و W كبير. إذا كتبت console.writeline، لن يفهم الكمبيوتر.
  • نسيان الأقواس المتعرجة — بعد class Program و static void Main() يجب بالضرورة وضع { }. إنها مثل أبواب الخزانة: تفتحها، تضع الكود، تغلقها.
  • الخلط بين الأحرف الكبيرة والصغيرة — C# يفرق بين الأحرف الكبيرة والصغيرة. Main و main شيئان مختلفان. الكمبيوتر يبحث تحديدًا عن Main بحرف كبير.
  • المسافات الزائدة — المسافات في C# عادةً
```