المتابعون للمدونة

الثلاثاء، 9 فبراير 2016

نشأة سي شارب


C# تخرج من بين أنقاض J++ 

في عام 1996 حاولت ميكروسوفت تسهيل الأمر على مبرمجي الويندوز بتبني نسخة من لغة الجافا، ووقعت عقدا مع شركة صن في هذا الصدد، وبدأت خطة طموحة لجعل الجافا أقوى وأسهل لغة برمجة على نظام الويندوز.. وبالفعل أنشأت ميكروسوفت نسخة من ماكينة جافا الافتراضية MSJVM، ونسخة من لغة جافا أسمتها Visual J++، لكنها خالفت بعض معايير صن الأساسية، لكي تجعل برامج جافا قادرة على التواصل مع باقي برامج الويندوز من خلال تقنية COM بدلا من تقنية صن المسماة CORBA.. وقد أفزع هذا شركة صن وأغضبها، وأشعرها أن ميكروسوفت تنحو بلغة الجافا خارج سيطرتها وأنها ستفسد الفلسفة العامة التي قامت عليها الجافا، وهي جعل جميع نسخها متوافقة لتستطيع العمل على أي نظام تشغيل، وليس الويندوز فحسب.. لكل هذا لجأت صن عام 1998 إلى مقاضاة ميكروسوفت في المحاكم الأمريكية، واستمر النزاع لمدة ثلاث سنوات، إلى أن اضطرت ميكروسوفت عام 2001 إلى التصالح ودفع تعويض لشركة صن وإيقاف تطوير MSJVM و J++.. لكن ميكروسوفت رغم هذا أطلقت نسخة من لغة الجافا عام 2002 ضمن بيئة دوت نت أسمتها جى شارب J#، واستمرت موجودة في إصدارات فيجوال ستديو دوت نت حتى إصدار 2005، واختفت بعد هذا.

بسبب كل هذا الصراع الذي أثارته شركة صن حول التعديلات التي أدخلتها ميكروسوفت على لغة الجافا، قررت ميكروسوفت أن تستفيد من كل استثماراتها في تطوير الجافا، في إنشاء لغة برمجة خاصة بها تجمع بين قوة السي وسهولة البيزيك والجافا.. لهذا بدأت ميكروسوفت في تطوير منصة دوت نت ليكون لديها إطار العمل .NET Framework الذي يسمح بتشغيل البرامج على نظم تشغيل مختلفة.. وكانت فئات إطار العمل تكتب بلغة برمجة خاصة مدارة الكود Managed Code بواسطة بيئة دوت نت، اسمها لغة السي المدارة السهلة Simple Managed C أو اختصارا SMC، لكن يبدو أنها لم تكن بالسهولة الكافية.. لهذا عهدت ميكروسوفت في يناير عام 1999 إلى أندرس هيلسبيرج Anders Hejlsberg بتشكيل فريق لتطوير لغة برمجة جديدة تكون أكثر سهولة وقوة.. وقد استفادت هذه اللغة الوليدة من خبرة أندرس هيلسبيرج في تصميم لغات البرمجة، فقد عمل في تطوير باسكال ودلفي، والتحق بميكروسوفت كواحد من مطوري J++  و MFC.

وقد طور هيلسبيرج اللغة الجديدة للتوافق مع معايير بيئة دوت نت، وسماها في البداية "لغة البرمجة الموجهة بالكائنات الشبيهة بالسي" C-like Object Oriented Language أو اختصارا "كول" COOL، لكن استقر الأمر في النهاية على تسميتها سي شارب، وأعلن عنها بهذا الاسم عام 2000، وظهرت مع إصدار دوت نت الأول في 13 فبراير 2002 .. وقد استخدمت سي شارب لإعادة كتابة فئات إطار العمل بدلا من لغة SMC، وكان الإصدار الأول من سي شارب مكتوبا بلغة سي++، لكن في إصدارات تالية أعيدت كتابتها بلغة سي شارب نفسها، وكودها المصدري Source Code منشور الآن على Github بعد أن اتجهت ميكروسوفت إلى فتح مصادر دوت نت علانية مع إصدار دوت نت 2015.. يمكنك مطالعته هنا:


لكن لماذا سميت سي شارب بهذا الاسم؟

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

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

 

تحت الطبع:
من الصفر إلى الاحتراف سي شارب 2015
بقلم: م. محمد حمدي غانم 

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر