بفضل الله في سلسة من المقالات سنتناول نشر دروس تعليم سي شارب C# ستكون شاملة ووافية للمبتدئين والمستوى المتوسط . نتمنى أن تكون مفيدة لجميع الدارسين .
الدرس الأول : مقدمة عن السي شارب #C
في هذا الدرس سنتاول مقدمة عن السي شارب C# تشمل الأتي :
- ما هي سي شارب #C
- لماذا تم إنشاء سي شارب #C
- ما هو أصل المصطلح C#
- الاستخدامات الرئيسة لـ سي شارب #C
- ميزات سي شارب #C
- مجتمع دعم سي شارب #C
- شعبية #C وانتشارها
- فرص عمل مع #C
- مستقبل سي شارب #C

ما هي سي شارب #C
سي شارب C# هي لغة برمجةٍ حديثة موجهة للكائنات، تم تطويرها في عام 2000 بواسطة أندريس هيجلسبرج Anders Hejlsberg في ميكروسوفت، وهي لغة عامة الغرض مصممة لتطوير التطبيقات على أنظمة التشغيل الأساسية لـ ميكروسوفت وتتطلب .NET framework على ويندوز للعمل .
غالباً ما يُنظر إلى C# على أنها هجين يأخذ الأفضل من C وC++ لإنشاء لغة حديثة؛ فكونها لغةً موجَّهةً؛ فهي تهدف إلى دمج قوة الحوسبة في C++ مع سهولة برمجة فيجول بيسك (Visual Basic) .
على الرغم من أن .NET framework يدعم العديد من لغات البرمجة الأخرى، إلا أن سي شارب C# أصبحت واحدة من أكثر تلك اللغات شيوعًا .
لماذا تم إنشاء سي شارب #C
لعلك تتساءل ـ كحال كل من يريد الاطلاع على الأقل ـ عن السبب في خلق هكذا لغة جديدة، على الرغم من وجود كيانات برمجيّة أخرى، ولأغراضَ مشابهةٍ، كلغة Java مثلًا!
في واقع الأمر فقد تمّ تأسيسها في البداية كمنافسة للغة Java؛ ذلك أنّ شركة Sun (التي اشترتها Oracle لاحقًا) لم تكن ترغب في قيام ميكروسوفت بإجراء تغييرات على جافا ، لذا اختارت ميكروسوفت إنشاء لغتها الخاصة بدلًا من ذلك . وعلى العموم، فإنّ سي شارب C# تحتوي على ميزات مشابهة لتلك الموجودة في جافا .
لقد نمت سي شارب C# بسرعةٍ كبيرةٍ منذ أن تم إنشاؤها لأوّل مرة، وهذا بالطبع تحت دعمٍ واسعٍ من ميكروسوفت لمساعدتها في الحصول على مكانتها الكبيرة اليوم . هي الآن واحدة من لغات البرمجة الأكثر شعبية في العالم !
ما هو أصل المصطلح C#
يستمد مصطلح C# المحرف # الخاصّ به من مفتاح التحويل الموسيقي “#”، والذي يشير إلى زيادة درجة نصفية واحدة، ولعلّ هذا يعبّر عن لمسة إبداع تضفيها اللغة على عالم البرمجة، كما عالم الموسيقى! ويُنطَق لفظ لغة C# بالإنكليزية “C Sharp” في أكثر الأحيان، أمّا اللفظ بالعربيّة فهو “سي شارب”.
الاستخدامات الرئيسة لـ سي شارب #C
في الواقع، وباختصار، أي شيء تقريبًا! إذ يمكنك استخدام C# لإنشاء تطبيقات ويندوز، وتطبيقات العميل -الخادم، وتطبيقات قواعد البيانات، وأكثر من ذلك بكثير…
يمكن تمييز استخداماتها المتنوّعة فيما يلي:
1- تطوير تطبيقات الويندوز Windows :-
- بالنظر لدعم .NET على نظام ويندوز ، فإنّ سي شارب C# تعتبر الآن الخيار الأول لكل مطور لإنشاء تطبيقات الويندوز .
- ذلك أنّ إصدارات نظام تشغيل الويندوز الجديدة (Windows 8/ Windows 10) ساعدت بقوّة على هذا “التبنّي”؛ إذ تتم كتابة الغالبية العظمى من تطبيقات الجهات الخارجية في متجر ويندوز عن طريق C# .
- رغم أنّ متجر ويندوز لم يحقق النجاح والشهرة التي حقّقها كلّ من App Store وGoogle Play، ولكنّهـ وبلا شكّ ـ سيشكّل مستقبل توزيع تطبيقات Windows، وعليه فإنّ C# لديها مستقبل مشرق على الويندوز .
2- إنشاء تطبيقات الويب عادةً عبر :-
- ويب فورم – WebForms (هي جزء من إطار عمل تطبيقات الويب NET المضمن مع فيجول ستديو Visual Studio) .
- MVC (هي نمط معماري يستخدم عادة لتطوير تطبيقات الويب) .
3- الأجهزة المحمولة والهواتف الذكيّة : عندما يتعلق الأمر بالهواتف الذكيّة، فإنّ C# تتعاظم باستمرار :-
- تقود Xamarin الطريق في هذا المجال، حيث تقدم أدواتٍ لجميع منصات الهواتف المحمولة الرئيسية، فضلًا عن العديد من المنصّات الأخرى التي تزوّد بالكثير من الموارد المفيدة في كيفيّة “تطوير الهاتف المحمول في C#.
- نجد أنّ ميكروسوفت أيضًا لديها باعٌ طويل في دعم C# على أجهزة المحمول؛ إذ أصدرت مؤخرًا تحديثًا لبرنامج Visual Studio 2013 يدعم “التطبيقات العامة”؛ وهي عبارة عن تطبيقات تم تطويرها جنبًا إلى جنب لكل من أجهزة الكمبيوتر المكتبية وكلّ الأجهزة التي تعمل بنظام ويندوز .
4- الألعاب :-
- تُستخدم سي شارب C# على نطاق واسع لإنشاء ألعاب باستخدام محرك الألعاب “Unity”، وهو أكثر محركات الألعاب شعبية اليوم؛ إذ يتم بواسطته صنع أكثر من ثلث أفضل الألعاب حول العالم، وهناك ما يقرب من 770 مليون مستخدم نشط للألعاب التي تم إنشاؤها باستخدامه .
- يُوَظَّف Unity أيضًا في الواقع الافتراضي ، مع 90٪ من جميع أجهزة Samsung Gear و53٪ من جميع ألعاب Oculus Rift VR التي تم تطويرها باستخدامه .
- C# أداة رائجة بشكلٍ كبير لإنشاء هذه التطبيقات ، ولذا فهي تقدم خيارًا رائعًا لأي مبرمج يأمل في اقتحام عالم صناعة وتطوير الألعاب ، أو لأي شخص مهتم بالواقع الافتراضي .
5- إنّ C# مرنة بما فيه الكفاية لتشغيل ملقمات TCP / IP، وRaspberry Pi .
ميزات سي شارب #C
أوّلًا: سهلة التعلّم، ولكنّها تنطوي على مهام معقّدة!
- تحتوي C# على العديد من الميزات التي تسهّل عملية التعلم.
- إن بنية C# ـ إن صحّ القول ـ هي “معبّرة” للغاية، ولكنها بسيطة وسهلة التعلم.
- يبسط بناء C# العديد من تعقيدات C++.
- C# سهلة القراءة نسبيًا.
- وبالإضافة إلى ذلك، فإنّ C# تقوم بمعالجة معظم التفاصيل المعقدة للجهاز (الكمبيوتر) بحيث يمكنك التركيز على غرض البرمجة بدلا من القلق حول التفاصيل الصغيرة.
- كما أنّ C# لغة مكتوبة بشكل ثابت، لذا يتم التحقق من الشفرة قبل أن يتم تحويلها إلى تطبيق، وهذا ما يسهّل العثور على الأخطاء، وهو أمر يمكن أن يكون مفيدًا بشكل خاص للمبتدئين.
ومع أن من أن بنية سي شارب C# أكثر تناسقًا ومنطقية من C++، فلا يزال هناك الكثير لتعلمه، ورغم أنّ C# لغة عالية المستوى، سهلة القراءة نسبيًا، لكنّها لغة ذات مستوى أدنى من لغات أخرى مثل Python، أي أنّ هناك العديد من المهام الأكثر تعقيدًا. ولكن على العموم، يمكن لأي شخص على دراية بـ C أو C++ أو Java، أن يتعرّف على الفور على بنية C#، كما يمكن للمطورين الذين يعرفون أيًا من هذه اللغات أن يبدؤوا العمل بشكل “منتج” في C# خلال وقت قصير جدًا.
ثانيًا: السرعة
كلغة مكتوبة بشكل ثابت، فإنّ C# أسرع من اللغات المكتوبة ديناميكيًا لأن الأشياء محددة بشكل أكثر وضوحًا؛ وبالتالي، عندما يكون التطبيق قيد التشغيل، لن يتم إهدار موارد جهازك عند التحقق من تعريف شيء ما في شفرتك. ولأن بإمكان المبرمجين البناء على الكود “الحالي” في C#، بدلاً من إعادته بشكل متكرر، فمن المتوقع أن يجعل هذا C# أسرع.
ثالثًا: مجتمع الدعم والتواصل
بالنسبة لأي مبرمج أو مطوّر فإنّ مدى الدعم الحيوي الذي يقدّمه “مجتمع المطوّرين” منقطع النظير! حيث أن مجتمع المطورين يختص بتقديم المساعدة، وتلقّيها أيضًا؛ فكلما كان المجتمع أكبر، كلما زاد عدد الأشخاص الذين يقومون ببناء أدوات مفيدة لجعل التنمية في تلك اللغة بعينها أسهل.
حتى الآن، هناك أكثر من 600 لغة برمجة في جميع أنحاء العالم، لذا، مع وضع هذا السياق في الاعتبار، لا بدّ من الخوض في بعض تفاصيل مجتمع دعم C#.
مجتمع دعم سي شارب #C
- مجتمع عام لمطوري لغة C# :
في Meetup (وهي خدمة تواصل عالمية تعتمد على المجتمعات) يمكنك عمومًا التواصل والتعلم من مطوّري البرامج الآخرين في الحياة الحقيقية.
من بين أكثر من 520 مجموعة، تحتوي أكثر من 140 ألف عضوًا حول العالم، فإن C# لديها سابع أكبر مجتمع على Meetup.
- مجتمعات لأغراض بعينها :
تمتلك Unity ـ محرك الألعاب الأكثر شعبية ـ مجتمع دعمٍ كبير جدًّا مع أكثر من 4.5 مليون مطور مسجل وأكبر حصة في السوق العالمية (45 ٪ حتى الآن).
منتدى Unity نشط للغاية، لذلك إذا كنت ترغب في تطوير الألعاب أو تطبيقات الواقع الافتراضي، فإن Unity هو خيار رائع بالنسبة لمستخدمي C# كونها عماد نتاج Unity.
شعبية #C وانتشارها
سرعان ما أصبحت C# واحدة من أشهر لغات البرمجة المتاحة، كونها قوية، ومرنة، ومدعومة بشكل جيد.
اليوم، تأتي C# في المرتبة الرابعة من بين لغات البرمجة الأكثر شعبية، مع ما يقرب من 31 ٪ من مجموع جميع المطورين ممّن يستخدمونها بانتظام.
تتعاون ميكروسوفت مع ECMA (وهي منظمة معايير لأنظمة المعلومات والاتصالات)، ومع هيئة المعايير الدولية ISO، لإنشاء معايير للغة C#؛ إذ من شأن ذلك أن يشجع الشركات الأخرى على تطوير إصداراتها الخاصة من اللغة.
تتضمن الشركات التي تستخدم سي شارب C# بالفعل : Apex وBunka Orient و Component Source و devSoft و FarPoint Technologies و LEAD Technologies و ProtoView و Seagate Software، وغيرها الكثير…
تمتلك C# أيضًا ثالث أكبر مجتمع على StackOverflow (منصّة عملاقة للتواصل التقنيّ، تمّ إنشاؤها وتطويرها باستخدام سي شارب C#) مع أكثر من 1.1 مليون موضوع.
من حيث حجم البحث وفقًا لـ Adwords من جوجل Google ، تحتلّ C# المرتبة الخامسة من حيث لغة البرمجة التي يهتم بها الناس أكثر. فضلًا عن أنّ الاهتمام بتعلّم C# قد نما بمقدار 22.2 % في عام 2015.
فرص عمل مع #C
تلك الشعبية تترجم إلى سوق عمل مزدهر؛ فعندما يتعلّق الأمر بلغة C#، يتم الإعلان عن أكثر من 17000 وظيفة في كل شهر (على مستوى العالم) بمتوسط رواتب يزيد على 72000 دولار.
على مستوى الولايات المتحدة فقط، هناك أكثر من 6000 وظيفةٍ ـ معلنٍ عنها ـ كل شهر، مع راتبٍ سنويّ قدره 92000 دولار. ويتم تشغيل 16٪ من أهم 100 مليون موقع بواسطة إطار عمل ASP.NET، والتي قد يستخدم العديد منها C#، لذلك هناك الكثير من الفرص على صعيد “التطوير”. ومع ذلك، فإن عمالقة التكنولوجيا يستخدمون Java بشكلٍ أساسي لتحسين قابليتها وأدواتها.
لكن مهلًا! … إذا كنت تعرف C# بالفعل، فلا ينبغي أن يكون من الصعب عليك ـ مع دافعٍ جيّد ـ أن تتعلّم Java وبشكل أسرع وأكثر إنتاجًا.
نقطة هامّة أخيرة تتمثّل مع صعود تطوير ألعاب الفيديو، إذ من المرجح أن يكون لدى مطوري C# فرص أفضل بكثير، حيث أن Unity (التي تشكّل C# أساسًا لنتاجها) أصبحت إلى حدٍّ كبير محرك الألعاب المستقبلي الأكثر إقناعًا.
مستقبل سي شارب #C
لعل ميكروسوفت تبدو خير ضامنٍ فعليّ من شركات الصف الأوّل لاستمرار C# في المنافسة والتطوّر ، كونها هي من أنشأتها .
ولكن على الجانب الآخر فإنّ قدرة لغة البرمجة على البقاء على قيد الحياة تعتمد أساسًا على ما إذا كانت اللغة تحصل على دم جديد .
عمومًا، فمن المرجح أن يستمر عالم الألعاب والواقع الافتراضي في النمو واستقطاب الكثير من المطوّرين والمستهلكين، إذ يبدو اليوم مقتحمًا الكثير من مجالات الحياة ، وإن على استحياءٍ أحيانًا.
وبالأخذ بكلّ ما سبق، فإنّ C# لديها مستقبل مبشّر جدًا.
نبذة تاريخية عن لغة البرمجة سي شارب :
تم اصدار أول نسخة من لغة البرمجة سي شارب c# 1.0 في بداية سنة 2001 ،
بعد ذلك تم اصدار النسخة الثانية من هذه اللغة c# 2.0 سنة 2005 في نفس الوقت تم اطلاق برنامج Visual Studio 2005 من طرقة شركة مايكروسوفت المستعمل خصيصا لبرمجة برامج تعمل على الوندوز ، و قد تم خلال هذا الوقت تطوير و إضافة ميزات جديدة الى هذه اللغة من بينها الوراثة Generics و الدوال مجهولة anonymous methods، أما النسخة سي شارب c# 3.0 التي تم اطلاقها تزامنا مع برنامج Visual Studio 2008 ، أما أخر نسخة و هي سي شارب c# 4.0 التي تم تحسينها للتوافق مع لغات البرمجة الأخرى و للمتع بجميع الخصائص و الميزات التي تمت اضافتها تم إصدار برنامج Microsoft Visual Studio 2010 الذي يدعم هذه اللغة من كل النواحي بالإضافة الى شرح استعمال كل دالة من دوال c#.net الذي سيساعدك كثيرا كمطور و مبرمج .
البرامج و الأدوات التي تحتاجها للبداية في عالم البرمجة بالسي شارب C Sharp :
أولا :
- برنامج Microsoft Visual C# 2010 Express الأفضل أن يكون باللغة الإنجليزية لأن دروسنا القادمة ستكون على النسخة الإنجليزية و لتحميل البرنامج إضغط هنا هو مجاني من الموقع الرسمي لشركة Microsoft ، بعد تحميل هذا البرنامج و عند تثبيته على جهازك سيقوم بتحميل باقي البرنامج من الأنترنت ، و قد يستغرق ذلك وقتا على حسب سرعة الأنترنت لديك ، اما اذا أردت رابط تحميل آخر للبرنامج إتصل بي على صفحتنا أو في مجموعتنا على الفيسبوك .
كما بمكنك أيضا استعمال برنامج SharpDevelop 4.3 إضغط هنا إذا أردت تحميله.
و يمكنكم تحميل أخر إصدار من برنامج Visual Studio 2012 Express for Windows Desktop من موقعه الرسمي من هنا .
بعد تحميله ستجد ملف بصيغة iso يجب فك الضغط عنه ببرنامج winrar أو برنامج powerISO .
ثانيا:
- برنامج Microsoft net framework قد يكون مثبتا على جهازك خاصة أصحاب الوندوز 7 ، إذا لم تجده قم بتحميله بالضغط هنا .
طريقة تشغيل برنامج Microsoft Visual C# 2010 Express و فتح مشروع جديد لإنشاء أول برنامج لك :
في هذا الجزء سنتحدث عن كيفية انشاء مشروع جديد ببرنامج Microsoft Visual C# 2010 Express من نوع Console Application و تنفيذ أول برنامج لنا بلغة سي شارب ثم حفظ المشروع.
بعد تثبيت برنامج Microsoft Visual C# 2010 Express قم بالخطوات التالية :
- شغل البرنامج من قائمة ابدأ أو أكتب في قائمة البحث Microsoft Visual C# 2010 Express
- بعد تشغيل البرنامج اختر New project في مساحة العمل التي تظهر أمامك أو من القائمة File اختر New project :
- تظهر لك نافذة اختر Console Application و أكتب إسم المشروع في الأسفل مثلا hello Project ، ثم إظغط على OK.
بعد الضغط على OK تظهر نافذة العمل التي في الأسفل :
1 - هذه مكتبات الدوال التي يجب استدعاءها ، حاليا أكتبها كما هي لأننا لن نحتاج الى تغييرها في البرامج البسيطة .
2 - جسم البرنامج الرئيسي ويمكن ان نكتب داخله على عدة فئات.
3 - الفئة الرئيسية للبرنامج و يمكن ان نكتب داخلها عدة دوال .
4 - الدالة الرئيسية للبرنامج نكتب داخلها الأسطر و الأكواد و العبارات البرمجية التي نحتاجها.مثال اضف الأسطر التالية داخل الدالة الرئيسية للبرنامج:
السطر الأول يقوم بعرض الجملة hello World ! في الشاشة ثم ينتقل الى السطر الذي بعده بواسطة الدالة WriteLine
السطر الثاني يعرض الجملة hello World ! This is My first Program in C sharp في الشاشة في نفس السطر بواسطة الدالة Write .
السطر الثالث يبقي لنا البرنامج مفتوح عند تنفيذه حتى يتسنى لنا رؤيته.
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("hello World !"); Console.Write("hello World ! This is My first Program in C sharp"); Console.ReadLine(); } } }
لتنفيذ البرنامج اضغط على كلمة debug في القائمة الرئيسية للبرنامج في الأعلى ثم اضغط على Start debuging.
ايضا يمكنك تنفيذ البرنامج بالضغط على السهم أو المثلث الأخضر في الأعلى. أو مباشرة اضغط على الزر F5 .
و أخيرا لحفظ المشروع اضغط على file في القائمة الرئيسية ثم Save All و أتر مكان الحفظ و إسم المشروع.
و بهذا نصل الى نهاية الدرس الأول اذا كان هناك سؤال أو غموض تفضلوا بطرح أسئلتكم و سأجيبكم عنها و السلام عليكم