ما هي البنية التحتية العامة للغة؟

البنية التحتية للغة العامة (CLI) هي مجموعة من المعايير الفنية الدولية التي تعزز قابلية التشغيل البيني للغة برمجة الكمبيوتر. يسمح CLI أيضًا للعديد من اللغات عالية المستوى بتطوير تطبيقات مستقلة عن الأنظمة الأساسية والبنى. هناك أكثر من 30 لغة برمجة مجمعة لهذا الغرض وتستفيد من أربعة أقسام لمواصفات برمجة اللغة العامة لتصبح متوافقة مع CLI.

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

يتم تجميع معظم اللغات المتوافقة مع CLI مباشرة إلى CIL باستخدام وقت تشغيل اللغة العامة (CLR). بعد أن يتم تجميعها وتخزينها مؤقتًا ، يقوم المترجم الفوري في الوقت المناسب بتخصيص رمز الجهاز من البنية الحالية. يمكن أيضًا إنشاء بنية رمز آلة التجميع قبل CLR باستخدام مترجم مسبق.

لكي تستفيد اللغات المتوافقة مع CLI من خصوصية الكائن ، تحدد البنية التحتية للغة العامة أن الكائنات تحتاج فقط إلى كشف الميزات التي تشترك فيها مع اللغات الأخرى المتوافقة مع CLI عند استدعائها. يُقال إن مكونات الكود التي تم تطويرها لاستخدام أنواع البيانات المقبولة فقط في CTS متوافقة مع CLI ويمكن الوصول إليها لجميع اللغات الأخرى المتوافقة مع CLI. بالإضافة إلى ذلك ، يتم استبعاد أي بنية للغة لا يمكن التحقق منها بسرعة من خلال نوع أمان الكود من CLS ، بحيث يمكن القول فقط إن الرموز التي يمكن التحقق منها متوافقة مع CLS.

بعض ميزات البرمجة مشتركة لكل من المجمعين والمطورين والبعض الآخر متاح للمترجمين فقط. القائمة طويلة ومليئة بالميزات المفيدة. الميزة المتاحة فقط للمترجمين هي: الكلمات الأساسية التي توفر معرفات مرجعية والتي يمكنها تجاوز الطرق الافتراضية بأسماء كلمات رئيسية. تتضمن الميزة المتاحة لكل من المترجمين والمطورين: ميزات التعديل التي تنص على أن الخاصية بالإضافة إلى المقيّمين يجب أن تكون جميعها “ثابتة” ، ويجب أن تكون جميعها “افتراضية” ، ويجب أن تكون جميعها “مثيل”.

برامج التنفيذ مخصصة لأجهزة الكمبيوتر المكتبية والخوادم والأجهزة المحمولة ووحدات التحكم في الألعاب. يتم أيضًا تطوير برامج تحسين رؤية الكمبيوتر ومجموعات أدوات الآلة الافتراضية منخفضة المستوى من اللغات المتوافقة مع البنية التحتية للغة العامة. تعمل أوقات تشغيل البنية التحتية للغة العامة على تخصيص موارد النظام واستدعاء الأجهزة الطرفية بكفاءة ، على الرغم من أنها مستقلة عن النظام الأساسي.