لغة سي شارب C#


سي شارب C# 

سي شارب C# هي لغة برمجةٍ حديثةٍ موجّهةٍ للكائ
نات، تم تطويرها في عام 2000 بواسطة أندريس هيجلسبرج Anders Hejlsberg في Microsoft، وهي لغة عامة الغرض مصممةٌ لتطوير التطبيقات على أنظمة التشغيل الأساسية لـ Microsoft وتتطلب .NET framework على Windows للعمل.

 

في الواقع، وباختصارٍ، أي شيءٍ تقريبًا! إذ يمكنك استخدام C# لإنشاء تطبيقات Windows، وتطبيقات العميل -الخادم، وتطبيقات قواعد البيانات، وأكثر من ذلك بكثير

يمكن تمييز استخداماتها المتنوّعة فيما يلي:

  1. إنشاء تطبيقات الويب 
  2. تطوير تطبيقات  windwos
  3. الأجهزة المحمولة والهواتف
  4.  الألعابs

لاحقاً وبالتحديد في كانون الثاني 1999 شكلاندرس هيلسبرغ فريقاً من المطورين بهدف بناء لغة جديدة اسمها كول ( Cool)‏، يشكل الاسم اختصاراً لعبارة "لغة غرضية التوجه شبيهة بلغة C" ( C-like Object Oriented Language)‏. قررت microsoft الإبقاء على هذا الاسم إلا أنها تخلت عن ذلك لاحقاً لأسباب قانونية لها علاقة بحقوق العلامات المسجلة. على التوازي مع ذلك أُعلن مشروع دوت نت رسمياً في مؤتمر للمطورين المحترفين (PDC) في تموز عام 2000 وأعيد تسمية اللغة إلى c# كما تم تصدير وقت التنفيذ الخاص بلغة ASP.NET   (اختصارا ل Active Server Pages والتي تعني صفحات الخادم النشط ") بالإضافة إلى مكتبات الصفوف إلى هذه اللغة.

اعتبر مصمم لغة  James Arthur Gosling JAVA    وهو أحد مؤسسي شركة Sun Microsystems التي أتت بلغة جافا أن لغة سي# ليست سوى "تقليداً" للغة جافا؛ وقد قال غوسلينغ معقباً "إنها [المقصود سي#] كجافا نوعاً ما ولكن بعد التخلي عن الاعتمادية والإنتاجية والأمان". كتب كل من كلاوس كرفت وأنجلكا لانجر في مقال لهما في مدونة "إن جافا وسي# لغتا برمجة متطابقتان تقريباً. وهذا تكرار مضجر يفتقر الإبداع"، "من الصعب جداً الادعاء أن جافا أو سي# لغة برمجة ثورية غيرت الأسلوب الذي نكتب فيه البرامج"، "لقد استعارت سي# الكثير من جافا -والعكس صحيح. حيث تدعم سي# ميزة التعليب وفك التعليب الآن وقريباً سوف نجد ميزةً شبيهة في جافا". قال أندرس هيلسبرغ في تموز عام 2000 أن سي# ليست "نسخة من جافا" بل أنها "أكثر قرباً إلى لغة c++" من ناحية التصميم.

في تشرين الثاني 2005 أعلن عن الإصدار 2.0 من سي# ومن هنا بدأت سي# وجافا بالتطور في اتجاهات متزايدة الاختلاف. إن أول وأهم هذه الاختلافات كان في إضافة الأنماط العمومية (بالإنجليزية: Generics)‏ إلى كلتا اللغتين حيث كان تحقيقهما لهذه الأنماط شديد الاختلاف حيث تقوم سي# بالتعامل مع الأنماط العمومية كصفوف حقيقية وتولد الكود الخاص بها وقت التنفيذ بينما تتعامل جافا مع هذه الأنماط كميزة مضافة إلى نحو اللغة تمكن المطور من كتابة كود عمومي كما تمكن المترجم من التأكد من صحة الأنماط فقط بينما لا تحول هذه الأنماط إلى أنماط حقيقية وقت التنفيز ولا يتم توليد كود خاص بها على غرار سي#.

إضافة إلى ذلك فقد أضيفت إلى سي# مجموعة من الميزات الهامة بهدف تمكين استخدام البرمجة الوظيفية فيها كُللت بإضافة link في الإصدار 3.0 والإطار البرمجي الداعم والطرق الملحقة والأنماط غير المسماة. تمكن هذه الميزات المطور من استخدام تقنيات البرمجة الوظيفية عندما يكون من المستحسن القيام بذلك. إن إضافات لينك وغيرها من الميزات الوظيفية تساعد المطور على كتابة أسطر أقل عند القيام بمهام روتينية كالاستعلام عن قاعدة بيانات أو اعراب ملفXML أو البحث ضمن محتويات بما يمكن من التركيز على هدف البرنامج المنطقي وتحسين مقروئيته وصيانته.


 

تعليقات

المشاركات الشائعة