كما يعرف بعضكم انا مبرمج أستخدم تقنيات دوت نت (NET. ) في عملي و أستخدم تحديدا لغة سي شارب( #C ) لهذا الغرض -لا أمانع إستخدام VB.NET لكن شكل الكود يجعلني أمرض - أذكر ذلك اليوم الذي تعرفت به عليها جديا أحضرت إحدى المجلات و هي بي سي مجازين العربية تحتوي على مقال تتحدث عن لغة سي شارب و عن بيئة دوت نت حيث كانت تحت الإصدار التجريبي و أذكر تماما أن كثير من الزملاء كانوا يتراكضون لأخذ دوررات فيجوال سي ( VC++6 ) و في بي ( VB6 ) وكانو يدعوننى للإنضمام معهم و قلت لهم: لا أنا سأتعلم لغة جديدة.
بدأ الطلاب يتحدثون بعدها عن اللغة الجديدة والتي تدعى سي هاش :-) معتقدين أنها تلفظ هكذا ما كان إلا أن بدأت تنزل الكتب الإلكترونية المسروقة اللتي تغطي اللغة و قد كنا نتبادل أقراص الكتب فيما بيننا فقمت أنا و احد الأصدقاء بإختيار كتاب معين وهو كتاب Programming C# first edition و بدأنا المنافسة فيمن ينهي الكتاب أولا و هكذا تعلمت هذه اللغة أما صديقي فبعد أن تعلمها تعلم Java و طور مشروع التخرج بلغة erlang و هي لغة معقدة بحق و أما أنا فاخترت طريق مايكروسوفت .
يكفي كلاما عني و لندخل بصلب الموضوع.
هي بيئة عمل متكاملة لبناء برامج الحاسوب تحتوي على كمية كبيرة من المكتبات البرمجية و الحلول الجاهزة و بيئة تشغيل خاصة بها تدعى الألة الإفتراضية (Virtual Machine) شبيه إلى حد كبير بفكرة الألة الإفتراضية في Java لتساعد المبرمجين على كتابة برامج بأسرع وقت ممكن و بأفضل طريقة و من جهة أخرى كي تكتب برنامجك مرة واحدة و تشغلة على أي جهاز يحتوي هذه الألة الإفتراضية.
قامت مايكروسوفت بإنشاء مشروع في نهاية تسعينات القرن الماضي يدعى Next Generation Windows Services الهدف منه تغير طريقة البرمجة لويندوز بعد أن بدأت افواج المبرمجين بالرحيل إلى جافا :-) بسبب صعوبة البرمجة بلغة ++C و مكتبتها MFC المخصصة لويندوز فنتج عن هذا المشروع صدور النسخة التجريبية الأولى من البيئة في نهاية عام 2000 لتصدر النسخة النهائية في شهر فبراير في عام 2001 .
و منذ ذالك الوقت دخلت البيئة في مرحلة التطور المستمر حتى فاقت في كثير من الجوانب البيئات الأقدم منها عمرا.
هنا لن أغطي هاذا الموضوع كاملا لكن سأشرح الأركان الأساسية في كي نستمر في تعلم السي شارب.
ملاحظة : هذا القسم سيحتوي على كثير من المصطلحات و الإختصارات لست ملزما بفهم ما سأشرحة لاحقا حتى تستطيع البرمجة بإستخدام دوت نت..
ننظر إلى الرسم التالي
هنا ترى البنية العامة للدوت نت و ترى أول خصائصها وهي تعدد اللغات إذا أنك تستطيع الكتابة باللغة اللتي تريد و تستخدم مكتبات الدوت نت وهذه الفكرة كانت أخاذة بحد ذاتها. ما قامت به مايكروسوفت إصدار مواصفات اللغات( Common Language Specification ) و إعتمادها من قبل ECMA في وثيقة تدعى ( Common language Infrastructure ) حتى يستطيع مطورو اللغات المختلفة توفير الدعم لبيئة دوت نت و عبر هذه المواصفات يتم ترجمة اللغات المختلفة إلى لغة واحدة تفهمها الدوت نت و هي لغة MSIL أو ( Microsoft Intermediate Language ) و هي لغة تشبة الأسمبلي كثيرا .
تأتي بالمرتبة التاية بالمميزات توفير كمية كبيرة من المكتبات المساعدة لتطوير الحلول البرمجية المختلفة فمن الواجهات الرسومية إلى الويب إلى أنظمة التراسل عن بعد و غيرها من المكتبات.
بقى عندنا الجزء الأهم من البيئة وهو قلب الدوت نت و هو ال (Common Language Runtime ) أو ما يعرف إختصار ب CLR و هو الجزء المسؤول عن ترجمة ال MSIL المذكور أنفا إلى لغة الأله ضمن عدة عمليات يتحكم بها بالذاكرة و أمن البرنامج و عمليات تشغيل البرنامج كاملة بحيث يكون متوافقا مع نظام التشغيل الذي يعمل علية مما يضمن لبرنامجك ان يعمل على عدة برامج تشغيل من ناحية نظرية.
هذه مقدمة إلى عالم الدوت نت تكفي حتنى نمضي قدما في تعلم السي شارب #C في المقالة القادمة من هذه السلسلة البرنامج الشهر Hello World مع شرح أساسيات أدوات التطوير في دوت نت.
وهنا أطرح سوألا عليكم هل تفضلوا أن تكون بعض الدروس على هيئة فيديو يمكن أن يوضع على إكبس أو يوتيوب؟
أنتظر أقتراحاتكم و تعليقاتكم.
*وصلات خارجية :
++منتدى مبرمجي #C الفريق العربي للبرمجة.
++صفحة سي شارب في موقع مطوري مايكروسوفت