Skip to content

1. مقدمة

يتوفر ملف PDF لهذا المستند |HERE|.

أمثلة هذا المستند متاحة |HERE|.

C# هي لغة حديثة. كانت متاحة في إصدارات تجريبية متتالية منذ عام 2000 قبل أن تصبح متاحة رسميًا في فبراير 2002 بالتزامن مع منصة .NET 1.0 من Microsoft التي ترتبط بها. لا يمكن لـ C# أن تعمل إلا مع بيئة التشغيل هذه. توفر هذه البيئة للبرامج التي تعمل داخلها مجموعة كبيرة جدًا من الفئات. كأول تقدير تقريبي، يمكن القول إن منصة .NET هي بيئة تشغيل مشابهة لآلة Java الافتراضية. ومع ذلك، يمكن ملاحظة اختلافين:

  • تعمل Java على أنظمة تشغيل مختلفة (ويندوز، يونكس، ماكينتوش) منذ بداياتها. في عام 2002، كانت منصة .NET تعمل فقط على أجهزة ويندوز. منذ بضع سنوات، يتيح مشروع Mono [http://www.mono-project.com] استخدام منصة .NET على أنظمة تشغيل مثل Unix وLinux. يدعم الإصدار الحالي من Mono (فبراير 2008) .NET 1.1 وعناصر من .NET 2.0.
  • تسمح منصة .NET بتنفيذ البرامج المكتوبة بلغات مختلفة. يكفي أن يكون مترجم هذه البرامج قادرًا على إنتاج كود IL (اللغة الوسيطة)، وهو كود يتم تنفيذه بواسطة الآلة الافتراضية .NET. جميع فئات .NET متاحة للغات المتوافقة مع .NET، مما يقلل من الاختلافات بين اللغات بقدر ما تستخدم البرامج هذه الفئات على نطاق واسع. يصبح اختيار لغة .NET مسألة ذوق أكثر منها مسألة أداء.

في عام 2002، كانت لغة C# تستخدم منصة .NET 1.0. وكانت لغة C# آنذاك إلى حد كبير «نسخة» من لغة Java، وكانت منصة .NET عبارة عن مكتبة فئات شبيهة جدًا بمكتبة منصة تطوير Java. في سياق تعلم اللغة، كان المرء ينتقل من بيئة C# إلى بيئة Java دون أن يشعر بالارتباك. بل كان هناك أدوات لتحويل شفرة المصدر من لغة إلى أخرى. منذ ذلك الحين، تطورت الأمور. أصبح لكل لغة وكل منصة تطوير خصائصها الخاصة. لم يعد من السهل نقل المهارات من مجال إلى آخر.

تقدم C# 3.0 وإطار العمل .NET 3.5 الكثير من الميزات الجديدة. ولعل أهمها هي لغة LINQ (Language INtegrated Query) التي تتيح إجراء الاستعلامات بشكل موحد، بطريقة قريبة من تلك المستخدمة في لغة SQL، سلاسل من الكائنات القادمة من هياكل في الذاكرة مثل المصفوفات والقوائم، أو من قواعد البيانات (SQL Server فقط في الوقت الحالي - فبراير 2008) أو من ملفات XML.

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

ساعدتني عدة كتب في كتابة هذا الدرس:

بالنسبة لإصدار 2002:

  • Professional C# programming، دار نشر Wrox
  • C# et .NET، جيرار لوبلان، دار نشر Eyrolles

في ذلك الوقت، وجدت هذين الكتابين ممتازين. ومنذ ذلك الحين، نشر جيرار لوبلانك إصدارات محدثة، منها ما يلي:

  • C# و .NET 2005، جيرار لوبلان، دار نشر Eyrolles

بالنسبة لمراجعة عام 2008، استخدمت المصادر التالية:

  • الوثيقة الأولية لعام 2002. كانت هذه الوثيقة، التي تم إنشاؤها عن طريق نسخ ولصق من دورة Java الخاصة بي، تحتوي على أخطاء مطبعية وأخطاء أكثر خطورة، مثل القول بأن الأنواع الأولية مثل System.Int32 هي فئات، في حين أنها هياكل. أعترف بخطئي...
  • وثائق MSDN الخاصة بـ Visual Studio Express 2008
  • كتاب C# 3.0 in a Nutshell لـ Joseph و Ben Albahari الصادر عن دار O'Reilly، وهو أحد أفضل كتب البرمجة التي قرأتها.

تتوفر أكواد المصدر الخاصة بأمثلة هذا المستند على الموقع [HERE].

Serge Tahé، مايو 2008

منذ مايو 2008، تطورت لغة C# بالطبع. ومع ذلك، لا يزال هذا المستند صالحًا لتعلم هذه اللغة. بالإضافة إلى هذه الدورة، ستجد عرضًا تقديميًا لـ ORM (Object Relational Mapper) Entity Framework في المقالة "مقدمة إلى ORM Entity Framework 5 Code First" في URL [مقدمة من خلال الأمثلة إلى Entity Framework 5 Code First (2012)].

Serge Tahé، أكتوبر 2013