البنية التحتية للغة المشتركة

تُعدّ بنية اللغة المشتركة ( CLI ) مواصفةً مفتوحةً ومعيارًا تقنيًا طُوِّر في الأصل بواسطة مايكروسوفت، ووُحِّدت من قِبَل المنظمة الدولية للمعايير / اللجنة الكهروتقنية الدولية ( ISO /IEC 23271 ) والمنظمة الدولية للهندسة الميكانيكية ( ECMA 335 ) [ 1 ] [ 2 ] . وهي تصف التعليمات البرمجية القابلة للتنفيذ وبيئة التشغيل التي تسمح باستخدام لغات برمجة عالية المستوى متعددة على منصات حاسوبية مختلفة دون الحاجة إلى إعادة كتابتها لبنى معمارية محددة. وهذا يعني أنها مستقلة عن المنصة. يُعدّ كلٌّ من إطار عمل .NET و. NET و Mono تطبيقاتٍ لبنية اللغة المشتركة. كما يُستخدم تنسيق البيانات الوصفية لتحديد تعريفات واجهة برمجة التطبيقات (API) التي يُوفّرها وقت تشغيل ويندوز . [ 3 ] [ 4 ]

ملخص

نظرة عامة مرئية على البنية التحتية للغة المشتركة (CLI)

من بين أمور أخرى، يصف معيار واجهة سطر الأوامر الجوانب الخمسة التالية:

نظام الكتابة المشترك (CTS)
مجموعة من أنواع البيانات والعمليات المشتركة بين جميع لغات البرمجة المتوافقة مع معيار CTS .
البيانات الوصفية
المعلومات المتعلقة ببنية البرنامج مستقلة عن اللغة ، بحيث يمكن الرجوع إليها بين اللغات والأدوات، مما يسهل العمل مع التعليمات البرمجية المكتوبة بلغة لا يستخدمها المطور.
مواصفات اللغة المشتركة (CLS)
تُعدّ CLS، وهي مجموعة فرعية من CTS، قواعد يجب على المكونات المطورة باستخدام/من أجل اللغات المدعومة الالتزام بها.
تنطبق هذه على المستهلكين (المطورين الذين يصلون برمجيًا إلى مكون متوافق مع CLS)، والأطر (المطورين الذين يستخدمون مترجم لغة لإنشاء مكتبات متوافقة مع CLS)، والموسعين (المطورين الذين يقومون بإنشاء أداة مثل مترجم لغة أو محلل كود يقوم بإنشاء مكونات متوافقة مع CLS).
نظام التنفيذ الافتراضي (VES)
يقوم نظام VES بتحميل وتنفيذ البرامج المتوافقة مع واجهة سطر الأوامر، باستخدام البيانات الوصفية لدمج أجزاء التعليمات البرمجية التي تم إنشاؤها بشكل منفصل في وقت التشغيل.
تُترجم جميع اللغات المتوافقة إلى لغة وسيطة مشتركة (CIL)، وهي لغة وسيطة مُجردة من مكونات النظام الأساسي. عند تنفيذ الكود، يقوم نظام VES الخاص بالنظام الأساسي بترجمة لغة CIL إلى لغة الآلة وفقًا لمكونات النظام الأساسي ونظام التشغيل.
في معيار CLI الذي طورته مايكروسوفت في البداية، يتم تنفيذ VES بواسطة وقت تشغيل اللغة المشتركة (CLR).
المكتبات القياسية
مجموعة من المكتبات التي توفر العديد من الوظائف الشائعة، مثل قراءة الملفات وكتابتها. جوهرها هو مكتبة الفئات الأساسية (BCL).

التقييس والترخيص

في أغسطس 2000، عملت شركات مايكروسوفت وهيوليت - باكارد وإنتل وغيرها على توحيد معايير واجهة سطر الأوامر (CLI). وبحلول ديسمبر 2001، صادقت عليها منظمة Ecma ، وتلاها توحيد المعايير من قبل المنظمة الدولية للمعايير (ISO) واللجنة الكهروتقنية الدولية (IEC) في أبريل 2003.

تمتلك مايكروسوفت وشركاؤها براءات اختراع لواجهة سطر الأوامر (CLI). تشترط كل من إيكما (ECMA) ومنظمة المعايير الدولية/اللجنة الكهروتقنية الدولية (ISO/IEC) إتاحة جميع براءات الاختراع الأساسية للتنفيذ بموجب شروط "معقولة وغير تمييزية " (RAND). من الشائع أن تتطلب تراخيص RAND دفع رسوم ترخيص، وهو ما قد يثير مخاوف بشأن Mono . اعتبارًا من يناير 2013 لم تحدد مايكروسوفت ولا شركاؤها أي براءات اختراع أساسية لتطبيقات واجهة سطر الأوامر الخاضعة لشروط RAND.

اعتبارًا من يوليو 2009 [ 5 ] أضافت مايكروسوفت لغة C# وواجهة سطر الأوامر (CLI) إلى قائمة المواصفات التي ينطبق عليها وعد مجتمع مايكروسوفت ، [ 6 ] مما يتيح لأي شخص تطبيق إصدارات محددة من المعايير بأمان دون خشية التعرض لدعوى قضائية تتعلق ببراءات الاختراع من مايكروسوفت. يتطلب تطبيق معيار CLI الالتزام بأحد الملفات التعريفية المدعومة والمحددة للمعيار، وأدنى هذه الملفات هو ملف تعريف النواة. في الواقع، يُعد ملف تعريف النواة مجموعة صغيرة جدًا من الأنواع المدعومة مقارنةً بمكتبة النواة المعروفة في تثبيتات .NET الافتراضية. مع ذلك، يسمح بند التوافق في CLI بتوسيع الملف التعريفي المدعوم بإضافة طرق وأنواع جديدة إلى الفئات، بالإضافة إلى الاشتقاق من مساحات أسماء جديدة. لكنه لا يسمح بإضافة أعضاء جدد إلى الواجهات. هذا يعني أنه يمكن استخدام ميزات CLI وتوسيعها، طالما أن تطبيق الملف التعريفي المتوافق لا يُغير سلوك البرنامج المُصمم للتشغيل على ذلك الملف، مع السماح بسلوك غير محدد من البرامج المكتوبة خصيصًا لهذا التطبيق.

في عام 2012، نشرت كل من Ecma وISO/IEC النسخة الجديدة من معيار CLI. [ 1 ] [ 2 ]

التطبيقات

  • إطار عمل .NET هو التطبيق التجاري الأصلي لواجهة سطر الأوامر (CLI) من مايكروسوفت. وهو يدعم نظام التشغيل ويندوز فقط. وقد تم استبداله بإطار عمل .NET في نوفمبر 2020.
  • .NET ، المعروف سابقًا باسم .NET Core، هو برنامج مجاني ومفتوح المصدر ومتعدد المنصات، وهو خليفة .NET Framework، وقد تم إصداره بموجب ترخيص MIT.
  • إطار عمل .NET Compact Framework هو تطبيق مايكروسوفت التجاري لواجهة سطر الأوامر للأجهزة المحمولة وجهاز Xbox 360 .
  • إطار عمل .NET المصغر هو تطبيق مفتوح المصدر لواجهة سطر الأوامر للأجهزة ذات الموارد المحدودة.
  • Mono هو تطبيق بديل مفتوح المصدر لواجهة سطر الأوامر والتقنيات المصاحبة لها، ويستخدم بشكل أساسي لتطوير تطبيقات الهاتف المحمول والألعاب.
  • DotGNU هو جزء تم إيقاف تشغيله من مشروع GNU الذي بدأ في يناير 2001 والذي كان يهدف إلى توفير بديل برمجي مجاني ومفتوح المصدر لإطار عمل .NET الخاص بشركة Microsoft .

انظر أيضاً

ملحوظات

  1. 1 2 "ISO/IEC 23271:2012 - تكنولوجيا المعلومات - البنية التحتية للغة المشتركة (CLI)" . ISO . مؤرشف من الأصل في 2 يوليو 2023.
  2. 1 2 "ECMA-335" . ECMA International . يونيو 2012. مؤرشف من الأصل في 16 أكتوبر 2023.
  3. "مقدمة في تطوير تطبيقات متجر ويندوز المتقدمة باستخدام HTML5 وجافا سكريبت" . مايكروسوفت برس ستور . 15 أكتوبر 2013. مؤرشف من الأصل في 30 مارس 2023.
  4. دي إيكازا، ميغيل (15 سبتمبر 2011). "تبسيط نظام التشغيل WinRT" . مؤرشف من الأصل في 30 نوفمبر 2023.
  5. غالي، بيتر (6 يوليو 2009). "معايير Ecma للغة C# وواجهة سطر الأوامر" . بورت 25. مؤرشف من الأصل في 9 يوليو 2009. تم الاطلاع عليه في 26 سبتمبر 2009 .
  6. v-alje (16 مارس 2023). " [ MS-DEVCENTLP ] : وعد مجتمع مايكروسوفت" . مايكروسوفت ليرن . تم الاسترجاع في 1 مايو 2023 .

مراجع