|
أساسيات الدوت نت
تتلخص الفكرة من خلال الفقرة المترجمة من كتاب
Sybex_CSharp Network Programming
وهي : في أن الخاصية الهامة التي توفرها بيئة الدوت نت
Common Language Runtime ( CLR ) Environment
تمكن البرامج المكتوبة بواحدة من لغا ت الدوت نت من العمل على منصات أنظمة تشغيل أخرى غير الويندوز Microsoft OS
و ذلك دون القيام بعملية اعادة الترجمة Recompiling
و هذا مايميز لغات البرمجة المدعومة من قبل تكنلوجيا الدوت نت عن تلك التي لا تدعمها ، و الفقرة التالية تو ضح آلية انشاء البرامج و تشغيلها من خلال الدوت نت .
---------------------------------------------------------------------------------
Basics of .NET
ان مجموعة ال .NET من لغات البرمجة تختلف عن النسخ السابقة من لغات برمجة Windows في طريقة انشاء و تشغيل البرنامج في نظام التشغيل Windows.
و لنبدأ من خلال مفهوم ال CLR : Common Language Runtime
يمكننا القول بأن القلب النابض لتكنلوجيا ال .NET هو بيئة ال CLR.
هذه البيئة تمكن المبرمجين من انشاء البرامج باستخدام عدد وافر من لغات البرمجة و تشغيلها على أية منصة تدعم CLR.
ان فكرة المترجم المشترك CLR تقوم على ايجاد طبقة وسيطة من ال APIs التي تعمل مابين Low Level هي اجرائيات Win32 و بين
High level كود البرنامج.
بواسطة تزويد هذه الطبقة الوسيطة قامت المايكروسوفت بمنح أكبر عدد من لغات التطبيقات من الوصول الى قلب تكنلوجيا النظام Windows .
ان التطبيقات عالية المستوى تكتب بواسطة لغات برمجة مختلفة مثل :
Visual Basic .NET
Visual C++ .NET
Visual J# .NET
Visual C# .NET
و تترجم الى لغة و سيطة خاصة تدعى Microsoft Intermediate Language :MSIL
ومن ثم يتم تفسير كود ال MSIL بواسطة ال CLR بحيث يصبح الى مايدعى executable programs ويعمل في نظام Windows .
ان هذا القلب النابض CLR يمكنه الوصول الى أنظمة تشغيل أخرى ، و بسب هذه الخاصية التي تمكن ال CLR من النفاذ الى أنظمة تشغيل أخرى ، تكون برامج ال .NET قابلة للتشغيل على أنظمة تشغيل أخرى من دون عملية اعادة الترجمة Recompiling
و بالتالي نجد أنه من الضروري للبرامج التي تشغل من خلال CLR أن تترجم الى اللغة الوسيطة MSIL ، فمثلا المعالج .NET C# compiler يستخدم لتحويل كود برامج #C الى كود MSIL ومن ثم يتم التشغيل بواسطة CLR
توصيف MSIL Code
لكي نفهم هذه الفقرة بشكل جيد ، سوف نأخذ كمثال عملية ترجمة برامج مكتوبة بلغة #C
عندما يتم ترجمة برنامج #C ، يتم انتاج ملف Executable File ، هذا الملف يختلف تماما عن الملفات التنفيذية المنتجة بواسطة مترجمات لغات أخرى ، فبدلا من ملف Low Level Assembly و الذي يشتغل مباشرة في نظام التشغيل Windows ، الملف التنفيذي الذي ينتجه مترجم #C يتكون من قسمين رئيسيين :
القسم الأول : A Stub assembly language program to start CLR compiler
لتشغيل ال CLR و الذي بدوره يترجم الكود MSIL الى Native Win 32 Code ليشتغل على نظام التشغيل .
القسم الثاني : The MSIL Code of the compiled Application
الكود MSIL
قرأتُ مجدَكِ في قلبي و في الكُتُـبِ شَـآمُ ، ما المجدُ؟ أنتِ المجدُ لم يَغِبِ
|