السلام عليكم ,,,
قامت Microsoft في الفترة الأخيرة بفعل الكثير من الامور الغريبة ... فأولا انتجت الدوت نت بمكتباته الضخمة .. ثم قامت بولادة ال C# ... وحورت الفيجوال بيسك تحويرا فظيعا .. لتتحول الى Visual Basic . NET .... ال C# قدمتها مايكروسوفت ردا على SUN MICROSYSTEM في رفعها الدعوة القضائية عليها باحتكار الجافا لصالحها " كما أعتقد " .. فكل مافعلته Microsoft هو أن التزمت الصمت وبدأت بانتاج الدوت نت وال C# ,, وهي حصان ارهان الخاص ب Micosoft في الجيل التالي من أدوات التطوير البرمجية .. حيث كما قالت أنها بقوة السي++ وسهولة الفيجوال بيسك ... وقد أصابت في ذلك ,, فهاهي السي # نتتشر انتشار النار في الهشيم بين المبرمجين القدامى من السي++ والفيجوال بيسك على حد سواء ...
لكن مالذي حل بالسي ++ ؟؟ هل الغيت ؟ أم اصبحت كما يقول بعض النقاد سيتم التعامل بالسي++ فقط لكتابة شيفرة منخفضة المستوى للتعامل مع الاجهزة وكتابة نظم التشغيل !!! أما برمجة المستقبل فهي السي# ...
مافعلته Microsoft بالسي++ غريب فعلا .. فهي تعلم ان أغلب البرامج السابقة للمطورين كانت باستخدام السي++ ولتحويلها لمنصة الدوت نت بعد الغاء السي++ ستكون كارثة .. فما بال كل الكود الذي كتب سابقا ...
هنا قامت icrosoft باضافة لغة البرمجة الثالثة لمنصة اللدوت نت .. وهي السي ++ الخاضعة للادارة ... Manged C++ Extensions ...وهي مايتعارف عليها ب C++ .NET ...
الان من الاسم الملاحق الخاضعة للادارة هي عبارة عن كلمات أساسية جديدة أضيف للسي++ الغرض منها أن تتكامل السي++ مع الدوت نت ومع لغتي السي# و VB.NET ,,,
وفي نفس الوقت قامت Microsoft بالغاء بعض ميزات السي++ السابقة ...
لن نتناول شيئا هنا .. فقط سأكتفي بسرد ماحدث من قبل Microsoft ...
الملاحق التي أضيفت للسي ++ تهتم عموما بململم النفايات GC الخاص ب CLR في منصة الدوت نت ...الملاحقكانت تزيد من فعالية ومرونةا للغة بشكل كبير ...
من هذه الملاحق ,, gc __ value __ abstract __ saled __ intrface__,,,
وغيرها ,,
الان مع تعقيد السي++ السابق أصبح الان على المبرمجين الاهتمام بالمزيد من الامور المعقدة وهذه الاشكال الغريبة ذات __ قبل كل اسم ,,,
أعتقد أن microsoft قد ربحت الجولة بذكاء حيث أفسحت المجال لل C# للدخول بقوة نظرا لعدم الوثوق بشيفرة السي++ المدارة وهذه الملاحق المعقدة .. وغير ذلك لم تقم Microsoft باضافة أية امكانيات جيدة لانشاء وتكوين واجهات برمجية FORM DESIGNER ,, لذا كان من الصعب انشاء واجهة برمجية تحمل أزرار وقوائم بالسي++ المدارة ,, بينما كان ذلك متاحا في VB.NET و ال C# !!!
هكذا ومنذ صدور Visual Studio .NET BETA1 من عام 2000 وحتى الان لم يكن هناك الكثير من الذكر حول ال سي++ المدارة .. وانما انصب كل الحديث حول الس# ....
بالطبع غضب محبو الس++ القدماء المخلصون لهذه القرارات وقدمو عدة شكاوي ل Microsoft بهذا الشأن ,, ومرة أخرى يبدو أن Microsoft كانت تعمل على تطوير Visual C++ .NET لمنصة الدوت نت 2 " حيث أننا الان نتعامل ب دوت نت 1 " ...
وكان رد Microdsoft قويا .. حيث قامت بعدة تغييرات جذرية مذهلة على السي++ المدارة ,,,
سأستعرض فقط عاملين أساسيين جديدين قامت Microsoft باضافتهما ,,,نظرا لأن هذه الجلسة تعريفية بما حدث ولاتهتم بتفاصيل التغييرات .. حيث لايكفي لذلك الا عدة صفحات ...
المهم ,, تمت اضافة العامل ^ والعامل % للتعامل مع المؤشرا المدارة بواسطة ال GC والعوامل السابقة التي نوازيها في بدون GC هي * و & ,, الان يمكن استخدام الاربعة مع بعضها في الكود ...
int Q = 9 , E =77
[ T^ h = gcnew T[10
[ T * p = new T[10
حيث T اسم فئة قام المستخدم بتعريفها مسبقا ...
الان المتغير المؤشر h يخضع لملمم النفايات أم p فيجب عليك حذفه بنفسك ,,,
الان لتعيين عنوان الى p كما في السابق نقول ,,
p = & Q
أما بالنسبة لمؤشر ال GC وهو h هنا فنقول ,,
h = % Q
هذه واحدة من الكثير من التغييرات التي طرات على السي++ المدارة ,,
وبلامناسبة هذه النسخة لم تنزل بعد .. لااعلم متى ستنزل لكن قريبا ...
أما المفاجأة الاكبر من ذلك فقد قامت Microsoft بالغاء كل الملاحق القديمة من نسخة 2001 كليا من النسخة التي ستصدر مع .NET 2 ,,,
المحق هي التي كانت تبدا ب __ !!!
فمن تعلم ال سي++ المدارة الموجودة حاليا فلن تفيده في الاصدارة القادمة ,,,
يبدو أن Microsoft كانت تعلم بهذا السيناريو بشكل جيد ,, فاستعدت للاحداث ,, وكما ذكرت الغرض من ذلك كما أعتقد والله أعلم محاولة اقحام السي # بشكل ممتاز بين مبرمجي السي++ القدماء ,,
عموما هذه وصلة الموضوع لمن أراد الاستزادة ,, وقريبا سندخل في موضوع السي++ المدارة ونتحدث عنها ببعض التفصيل ,,
