ما الفرق بين C و C++ و C# ؟

ما الفرق بين C و C++ و C# ؟

إن مجال البرمجة مجال شاسع، و ما يحدد شساعته هذه هو تعدادية اللغات البرمجية التي تحاصره من كل مكان، إذ مئات اللغات البرمجية في العالم التي يمكنك إستخدامها حسب التخصص لتطوير أي نوع من البرمجيات تريد. لكن من بين كل هذه اللغات البرمجية يوجد فئة معينة من اللغات البرمجية التي تحظى بشعبية كبيرة بين المستخدمين و التي من الصعب أن تجد مبرمجا لا يعرفها مثل Python, C, Java, CPP و غيرها ... 

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

ما الفرق بين C و C++ و C# ؟

ما هي لغة البرمجة C ؟ 

تعتبر من أوائل اللغات البرمجية القابلة لتطوير برمجيات مختلفة، تم تطويرها و إطلاقها من طرف " دينيس ريتشي " الأب الروحي للبرمجة و نواة اللينكس كذلك. حين ظهرت لغة  البرمجة C كانت تهم بشكل كبير تطوير الأنظمة و بعض خصائها و ذلك لكونها لغة جيدة في التعامل مع الآلة و أقطابها بشكل كامل. 
لغة البرمجة C هي لغة نسبيا ضعيفة مقارنة باللغات البرمجية الحالية، هي لغة عامية يمكن من خلالها صناعة برمجيات مختلفة خصوصا برمجيات سطح المكتب، يمكنها التعامل مع كل من برمجيات الكونسول، او برمجيات ذات واجهة معينة بتضمين المكتبات اللازمة. 
لغة البرمجة C حاليا تعتبر أم اللغات البرمجية، لماذا ؟ لأن من رحمها انبثقت مجموعة أخرى من اللغات البرمجية مثل C++ و C# اللذان يعتبران أساس هذا المقال كذلك، حتى لغات مثل الجافاسكربت قد تطورت من رحم الـ C. لذلك، ينصحك الكثيرون بتعلمها أولا، لأن سيرورة عملها و طريقة كتابة الكود الخاص بها مشابه بشكل كبير للغات المبنية عليها. 
لغة البرمجة C هي لغة Static - Procedural ( يمكنك قراءة هذا المقال للتعرف على الفرق بين Procedural و باقي الأنماط ). في الوقت الراهن و الحالي و الذي نسطر فيه أحرف هذا المقال، لغة البرمجة C تستخدم لـ  3 أغراض بالكثير : أولا المساهمة في تطوير الأنظمة خصوصا أنظمة اللينكس، ثانيا التعليم، إذ تستخدم من طرف مجموعة من الجهات لتعلم البرمجة لكونها أسهل و أفضل للمبتدئين، ثم أخيرا صناعة برمجيات قادرة على التواصل المباشر مع العناصر الآلية عبر خصائص الـ C مثل الـ Pointers مثلا. 
لدينا هذا المقال من أجلك الذي يضع بين يديك أفضل الكورسات لتعلم لغة البرمجة C

ما هي لغة البرمجة C++ ؟ 

عندما ظهرت لغة البرمجة C، كانت جيدة في البداية و كفيلة بصناعة البرمجيات التي تحتاجها في ذلك الوقت، لكن بعض المطورين شككو دائما في وجود شيئ ما ناقص في لغة البرمجة الـ C، و لأنها كانت لغة برمجة مفتوحة المصدر و يمكن للجميع التعديل عليها، بادر  شخص يُدعى Bjarne Stroustrup بالتعديل عليها، مع الحفاظ على كينونتها الأساسية. ليُطلق بعدها بسنوات لغة البرمجة C++.
هي لغة برمجة تشبه كثيراً الـ C من حيث المبادئ الأساسية، فهي لغة ذات استخدام عام و لغة إجرائية بدورها، لكن الجديد هنا هو إضافة ما يسمى بالكلاسات في لغة البرمجة C++ و التي تفوقت فيها على الـ C، بل حتى أنه في بداياتها أطلق عليها إسم لغة " C With Classes " أي لغة الـ C مع الكلاسات قبل ان تأخذ إسم C++ في النهاية.
بالرغم من توفيرها لمبادئ الكلاسات، فلغة البرمجة C++ ليست لغة كائنة التوجه (OOP)، بل في الحقيقة هي لغة Semi-Object Oriented، أي أنها لا تعتمد و لا تتخذ كل أساسيات البرمجة كائنية التوجه، بل فقط بعضا المتعلق بالوراثة و صناعة الكلاسات.
تختلف أيضا الـ C++ على الـ C من حيث الأكواد و من حيث الأهداف، فالأكواد الخاصة بالـ C او الـ Syntax متقارب لكنه ليس مثله. أما الهدف من لغة البرمجة C++ فكثيرة، إذ تستخدم اليوم في صناعة برامج سطح المكتب، صناعة ألعاب الفيديو، صناعة الأنظمة أيضا، و صناعة تطبيقات الموبايل حتى و الكثير.

ما هي لغة البرمجة C# ؟ 

شركة مايكروسوفت بدورها لم تقف مكتوفة الأيدي في ظل هذا التقدم التكنولوجي القابع في مجال البرمجة، بل طورت بدورها لغات برمجية أخرى خاصة بها أشهرها الـ VB و الـ C#. مقارنة مع الـ C و الـ C++ فلغة البرمجة C# حديثة العهد، فقد أطلقتها شركة مايكروسوفت لأول مرة سنة 2000، و عمدت لتطويرها و إضافة الكثير لهذه اللغة لتصير واحدة من أقوى اللغات البرمجية في العالم اليوم.
لغة البرمجة C# حاليا هي لغة ذات استخدام متعدد، تعتمد على نمط البرمجة  كائنية التوجه، و لها إطارات عديدة تتيح لك من خلالها صناعة تقريبا أي نوع من البرمجيات اليوم. هي لغة تتفوق على كل من الـ C و الـ C# من حيث العمل و الآداء و السطر البرمجي، فهي غير معقدة إطلاقا.
يمكن استخدام لغة  البرمجة C# في مجالات مختلفة على رأسها صناعة برمجيات سطح المكتب، صناعة مواقع الويب عبر فريموورك ASP.net، صناعة الألعاب عبر محرك Unity، و الكثير ...، في الحقيقة، وفرنا مقالا يدرج أبرز إستخدامات لغة  البرمجة C# قد يفيدك.
ما يجعل لغة البرمجة C# اليوم متطورة بشكل كبير، هو الإهتمام الكبير الذي تحظى به من طرف مايكروسوفت، فعلى عكس الـ C و الـ C++ اللذان بات استخدامهما محدود في مجالات محددة، مايكروسوفت تطور كل يوم لغة البرمجة C# لتشمل كل المجالات الأخرى و تسعى لتوسيعها بشكل أكبر كل يوم.


إذن ما الفرق بين C و C++ و الـ C# ؟ 

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

شاركه على :