مقدمة إلى C#
ماهي لغة C# ..؟!! و فيما نستخدم لغة C# ...؟! وكيف يتم تحضير بيئة العمل مع C# …!! وما هي أساسيات الكود في لغة سي شارب ؟!!
في عالم البرمجة، هناك لغات تاريخية وأساسية تشكل الأساس لتطوير البرامج وتفهم الأساسيات. ومن بين هذه اللغات الكلاسيكية والمؤثرة تأثيرًا كبيرًا في تطور الحوسبة، نجد لغة البرمجة C#. تعتبر C#واحدة من أهم اللغات التي تستخدم في مجالات متعددة، بدءًا من تطوير نظم التشغيل إلى برامج تطبيقات سطح المكتب والمواقع على الويب.هذا المقال، سنتعرف على مقدمة مبسطة للغة C# نستعرض بيئة العمل وأساسيات الكود مع C#. لنبدأ…
ماهي لغة C# ...؟
يتم نطق C# بــ "C-Sharp سي شارب " لغة برمجة بأسلوب الكائنات الموجهة Object Oriented Programming (OOP) تم تطوير C# من قبل شركة مايكروسوفت Microsoft وتم إطلاقها لأول مرة في عام 2000 كجزء من منصة .NET الخاصة بالشركة (أي تعمل على NET Framework.) مع مرور الوقت، أصبحت C# لغة برمجة شعبية جداً، وهي تستخدم بكثرة في تطوير الأنظمة والتطبيقات الأكبر حجماً.
تتميز C# بسهولة التعلم والاستخدام، وتوفر مجموعة كبيرة من الميزات القوية التي تمكن المطورين من بناء تطبيقات متطورة بسهولة. وتتميز أيضاً بكونها لغة برمجة آمنة، حيث تحتوي على ميزات أمان مدمجة تساعد على منع الهجمات الإلكترونية والحفاظ على سلامة البيانات.
وبما أن C# من لغات (OOP) فهي تتصل بمكتبات قوية من الـ Classes والتي تحتوي على العديد من المكونات البرمجية المبنية مسبقاً. مما يتيح بناء برامج واضحة من خلال السماح بإعادة استخدام الكود ، و يقلل من تكاليف تطوير البرامج. كما تسمح الـ .NET تسمح ببناء تطبيقات توزع على أجهزة متنوعة.
و C# لغة برمجية من عائلة لغات C فهي تعتبر جذر من اللغات C, C++, Java مما يتح لها أن تتكيف مع افضل الميزات لكل من هذه اللغات. نظرًا لأن C# قريبة من C و C++ و Java ، فإنه يسهل على المبرمجين التبديل إلى C# أو العكس.
لماذا نتعلم C# ؟
C# هي واحدة من أكثر لغات البرمجة شيوعًا ويمكن استخدامها لمجموعة متنوعة من الأشياء ، بما في ذلك تطبيقات الهاتف المحمول وتطوير الألعاب وبرامج المؤسسات. إن معرفة C# يفتح لك قدرًا كبيرًا من الأبواب كمطور.هناك العديد من الأسباب التي تجعل من الضروري تعلم لغة C#. من بين هذه الأسباب:
- شعبية واسعة: تعتبر C# واحدة من أكثر اللغات استخداماً في صناعة البرمجيات وتطبيقات الويب والألعاب. وبالتالي، فإن تعلم C# يمنحك فرصًا جيدة للعمل في هذه المجالات والانخراط في مشاريع تطوير البرمجيات.
- سهولة التعلم: تعتبر C# لغة برمجة سهلة التعلم والاستخدام. وبالإضافة إلى ذلك، توفر C# مجموعة واسعة من الموارد التعليمية والدروس المجانية عبر الإنترنت، مما يجعل من التعلم أكثر سهولة ومتعة.
- الأمان: تتميز C# وامانها العالي، حيث تحتوي على ميزات أمان مدمجة تساعد على منع الهجمات الإلكترونية والحفاظ على سلامة البيانات
- التفاعلية: تتيح C# للمطورين إنشاء تطبيقات تفاعلية ومتطورة بسهولة، مما يجعل من السهل إنشاء تطبيقات الألعاب وتطبيقات الويب الديناميكية.
- توافقية مع منصة .NET : تعتبر C# جزءًا من منصة .NET الشهيرة التي تمكن المطورين من إنشاء تطبيقات متوافقة مع مختلف أنظمة التشغيل والأجهزة المختلفة.
أن تعلم C# يجعل من السهل إنشاء تطبيقات متطورة وآمنة، ويوفر فرصًا جيدة للعمل في مجال تطوير البرمجيات وتطبيقات الويب والألعاب.
فيما نستخدم C# ..!!
تستخدم لغة C# على نطاق واسع في تطوير البرمجيات وتطبيقات الويب والألعاب. وتعتبر C# جزءًا من منصة .NET التي تمكن المطورين من إنشاء تطبيقات متوافقة مع مختلف أنظمة التشغيل والأجهزة المختلفة. ومن بين استخدامات C#:
- تطوير تطبيقات سطح المكتب: يمكن استخدام C# لتطوير تطبيقات سطح المكتب المختلفة مثل برامج إدارة الملفات والمشاريع والتطبيقات الخاصة بالأعمال.
- تطوير تطبيقات الويب: تستخدم C# في تطوير تطبيقات الويب الديناميكية، ومنصات التجارة الإلكترونية، وتطبيقات الإدارة والعمليات الإلكترونية.
- تطوير تطبيقات الألعاب: تستخدم C# في تطوير ألعاب الكمبيوتر المختلفة، وتطبيقات الواقع الافتراضي والواقع المعزز.
- تطوير تطبيقات الجوّال: يمكن استخدام C# لتطوير تطبيقات الجوّال المختلفة على منصات مثل Android وiOS.
- تطوير تطبيقات الذكاء الاصطناعي: تستخدم C# في تطوير تطبيقات الذكاء الاصطناعي والتعلم الآلي وفهم اللغة الطبيعية.
يمكن استخدام C# في تطوير مجموعة واسعة من التطبيقات والبرمجيات المختلفة، وتعتبر واحدة من أكثر اللغات استخداماً في صناعة البرمجيات وتطبيقات الويب والألعاب.
بيئة العمل مع C#
تتميز لغة C# ببساطتها وقوتها في نفس الوقت. توفر بيئة برمجية قوية وشاملة، مع قواعد صارمة للكتابة الصحيحة للكود والتحكم في تنفيذ البرنامج. تم تصميم اللغة بطريقة تتيح للمطورين كتابة برامج سهلة القراءة والصيانة وفعالة من حيث الأداء.
للبرمجة بلغة C# توفر Microsoft نوعين من بيئات العمل المتكاملة للتطوير Integrated Development Environment (IDE) هي Visual Studio و Visual Studio Code طريقة تثبيتها موضحة في موقع Microsoft على المستخدم أن يحدد أي منها يفضل.
Visual Studio
تتوفر اصدارات حديثة متعددة وتتوفر عدة نُسخ للإصدار الواحد منها المجانى وغير المجاني وآخر اصدار حتى كتابة هذا المقال هو Visual studio 2022. و يفضل استخدام بيئة العمل هذه للمبتدئين وهذا لوضوح وسهولة التعامل مثلاً بناء مشروع جديد وتحديد نوعه واضح وبسيط ولكن يجب مراعاة انها تحتاج منا توفير جهاز مناسب للعمل عليه هذا لأنها تحتاج مساحة كبيرة من الذاكرة وكذلك مساحة RAM لتعمل بشكل جيد.
Visual Studio Code
توفر Microsoft ايضاً Visual Studio Code نسخة مجانية من محرر اكواد صغير الحجم ويعمل مع عدة لغات برمجية من خلال ضبط الاعدادات للغة البرمجية المراد العمل معها .
فلغة C# تحتاج الى توفر نسخة من .NET على الجهاز كذلك لابد تنزيل الإضافة Extension الخاصة بلغة C# على Visual Studio Code وهي C# for Visual Studio Code.
وهنا ايضاً يتم تحديد نوع الـProject المراد العمل معه من خلال اوامر الـ Terminal فبعد فتح مجلد المشروع بواسطة Visual Studio Code نقوم بفتح New terminal ونستخدم الأمر:
لاستعراض انواع الـ project المتاحة في لغة C#:
dotnet new - -list
و لتحديد نوع Project من ليكون Console تكتب الامر:
dotnet new console
بهذا تمت تهيئة المجلد كمجلد مشروع من نوع Console.
أساسيات الكود في C#
عندما نعرف مشروع C# على أنه من نوع Console Application يعني أن تكون المدخلات Inputs والمخرجات Output نصية على نافذة الـ Console (Console Window) وهي تُعرف في Windows XP و Windows Vista كا Command Prompt.
في لغة C# يتيح لنا مشروع Console تعلم أكواد لغة C# في هذا الجزء من المقال سنتعرف على أساسيات العمل مع أكواد لغة C# وهي
- المساحات الخالية Whitespace في C#.
- الكلمات الرئيسية Keywords في C#.
- التـسـمية في C#.
- التعليقات Comments في C#.
- تضمين المكتبات في مشروع C#.
- الأقـواس في C#.
- الدالة الرئيسية Main() في C#.
- طباعةالمخرجات
- الفاصلة المنقوطة The semicolon in C#.
- الاصدارات الحديثة من .NET .
لنرى مثال على تعليمات لغة C# (الكود في لغة C# ) سنقوم بتفصيل التعليمات الواردة في المثال لشرح أساسيات لغة C#
سنقوم بتفصيل التعليمات الواردة في المثال التطبيقي
using System;
namespace App
{
internal class Welcom
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
المساحات الخالية White-space في C#
يستخدم المبرمجين المساحات الخالية سواء كانت أسطر او عدد معين من الحروف للتنظيم الكود وليكون أسهل في القراءة هذه المساحات تعرف بـ white-space في C# هذه المساحات لاتدخل في عملية البرمجة سيتم تجاهلها بواسطة الـ Compiler.
الكلمات الرئيسية Keywords في C#
بأي لغة برمجة تسمى الكلمات التي تستخدم في الأوامر البرمجية مثل الاعلان عن Object او ماشابه بـ الكلمات المحجوزة Reserved Words او الكلمات اللغة الرئيسية Keywords .
في C# تكتب الكلمات الرئيسية (Keywords ) بأحرف صغيرة مثلاً عند الاعلان عن class نكتب "class Class_name" (يجدر بالذكر أن كل برنامج في C# يحتوى على Class واحد على الأقل ولابد أن يبدأ اسم الـ class بحرف كبير).
و يوضح الشكل التالي التالي أهم الـ Keywords المستخدمة في البرمجة بلغة C#:
كما توفر سي شارب كلمات رئيسية سياقية (Contextual Keywords) تتضح معنا في الشكل التالي التالي أهم الـ Contextual Keywords المستخدمة في لغة C#:
التـسـمية في C#
في البرمجة نحتاج الى تسمية المتغيرات والـ Objects ف لهذا لابد ان تكون الأسماء واضحة وذات معنى ليكون البرنامج واضح ومفهوم، و للتسمية في C# و كما في أغلب لغات البرمجة شروط وهي:
- ان لايكون الاسم متطابق مع احدى الكلمات المحجوزة للغه.
- يمكن أن يتكون الاسم من احرف وارقام ولايمكن ان يحتوي على رموز بإستثناء الشرطة السفلية (_) Underscores .
- ا يمكن للاسم أن يبدأ برقم .
- لا يمكن للاسم أن يحتوي على مسافات.
ملاحظة : C# حساسة لحالة الأحرف Case Sensitive الكبيرة والصغير فمثلاً المتغير بإسم "Number" يختلف عن المتغير بإسم "number". ومن الممارسات الجيدة ان يتطابق اسم البرنامج مع اسم الـ Class الذي يحتوي الدالة Main() .
التعليقات Comments في C#
التعليقات في البرمجة يتم يتجاهلها من الـ Compiler فالغرض من كتابة التعليقات تحدثنا عنه في مقال سابق بعنوان أساسيات البرمجة. ولكل لغة برمجة طريقة مخصصة لكتابة التعليقات (Comments)هذا ليتعرف عليها الـ Compiler ويتجاهلها. في C# يوجد نوعين من التعليقات إما أن تكون في سطر واحد أو أكثر من سطر:
إذا كان التعليق في سطر واحد Single Line Comment ، ستبدأ بـ // (Double Slash).
أو يكون التعليق مكون من عدة أسطر Delimited Comments ، هنا سيبدأ من اليسار بـ /* .... وتنتهي بـ....*/ و سيعطي الـ Compiler خطاء في حال نسيان أي من العلامات سواء بداية أو نهاية التعليق.
تضمين المكتبات في مشروع C#
يحتوى .NET على مجموعة من المكتبات تسمى Namespaces Collections هذه المكتبات تحتوي على مجموعة من Classes معرفة مسبقاً لتستخدم في تطبيقات .NET وتعرف بـ .NET Framework Class Library يتم استدعاء أي من Namespaces بواسطة الكلمة المحجوزة using اي استخدم هذه الـ namespace في هذا البرنامج.
System هي احد هذه الـ namespaces حيث تحتوي على العديد من ال classes منها Console Class.
وعند استخدام اي من الـ Classes المتوفرة في .NET Framework Class Library دون استدعاء المكتبة الخاصة به بواسطة using سيعطي Compiler رسالة خطأ Compiler Error.الأقـواس في C#
الأقـواس في C#
- Curly Brace {…} ويستخدم لتحديد بداية ونهاية الـBody للـ Class او Method حيث تكون البدالة مع القوس الأيسر } والنهاية مع الايمن { وفي حال نسيان احد الاقواس سيظهر خطأ لهذا من الأفضل من كتابة القوسين معاً ثم وضع المؤشر بينهما لكتابة التعليمات الخاصة بهما
- Parentheses (...) وتستخدم عند الإعلان عن دالة Method بعد اسم الدالة او في العمليات الرياضية لتحديد او أولوية التنفيذ.
الدالة الرئيسية Main() في C#
لكل برنامج في C# لابد ان يوجد به دالة واحدة فقط باسم Main حيث يتم تنفيذ ترتيب التنفيذ للبرنامج بناء ترتيب التعليمات في Main وهي دالة ثابتة Static ولاترجع قيم Void.
طباعة المخرجات في C#
في Console Class يوجد دالتين لطباعة الـ Output وهي:
- Write() التي تقوم بطباعة قيم المتغيرات للبرنامج وكذلك البيانات المرسلة لها بين علامتي التنصيص Double Quotations "...." وستبقى المؤشر في نفس السطر بعد التنفيذ.
- WriteLine() والتي سوف تقوم بنفس عمل الدالة Write() ولكن ستقوم بوضع المؤشر في السطر التالي بعد التنفيذ وهي الأكثر استخدام.
الفاصلة المنقوطة The semicolon in C#
تنهي الجُمل البرمجية Statements في C# بالفاصلة المنقوطة عدا تلك التي تعلن عن دالة Method او تكرار Loop او Class ويعطي الـ Compiler خطأ في حال نسيانها.
الاصدارات الحديثة من .NET
في الاصدارات الأحدث من .NET وهي .NET 6 وما بعده لم تعد تستخدم هذا القالب Template من C# وانما اصبح مختصر أكثر ليكون بالشكل التالي :
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
إلى هنا ينتهي هذا المقال تعرفنا من خلاله على لغة C# ومجالات الاستخدام وكيفية تحضير بيئة العمل للغة C# .مع سي شارب يمكننا بناء تطبيقات قوية ومتطورة والاستفادة من إمكانيات إطار العمل .NET الشامل. كما يمكننا استخدام C# في تطوير تطبيقات سطح المكتب، تطبيقات الويب، وتطبيقات الجوّال. C# هي لغة برمجة مهمة وشائعة في صناعة البرمجيات، وتعلمها يمنح المطورين القدرة على بناء تطبيقات متطورة وآمنة و متوافقة مع مختلف الأنظمة والأجهزة.