زیرساخت زبان مشترک
ترجمهٔ عنوان این مقاله دارای منبع نیست. ویرایشگران طبق سیاست تحقیق دستاول ممنوع نمیتوانند اصطلاحات زبانهای دیگر را بدون منبع ترجمه کنند و از طرف دیگر بر اساس شیوهنامه در اکثر مواقع نمیتوانند عنوان مقاله را با عنوان اصلی آن در الفباهای غیر فارسی و عربی ثبت کنند. |
زیرساخت[۱] زبان مشترک (به انگلیسی: Common Language Infrastructure) با کوته نوشت CLI یک مشخصات آزاد (استاندارد فنی) است که توسط مایکروسافت ایجاد و توسط سازمانهای ایزو و ایسیامای[۲][۳] استانداردسازی شدهاست. این استاندارد توصیف کننده کد قابل اجرا و نیز محیط اجرایی است که به چندین زبان سطح بالا اجازه اجرا استفاده در بنسازههای رایانهای مختلف را (بدون نیاز به بازنویسی برای معماری خاص) میدهد. این ویژگی یعنی CLI نفی کننده (منکر) وجود بنسازهها است. چارچوب داتنت، داتنت، و مونو پیادهسازیهای CLI هستند.
دید کلی
از بین سایر موارد، مشخصات CLI این چهار جنبه را توصیف میکند:
سامانه نوع مشترک (CTS)
یک مجموعه از انواع داده و عملیات است که توسط تمام زبانهای برنامهنویسی سازگار با CTS به اشتراک گذاری شدهاست.
اطلاعات دربارهٔ ساختار برنامه منکر وجود زبان است، از این رو CLI قابل ارجاع شدن بین زبانها و ابزار است، این موضوع باعث میشود تا کار با کدی که به زبانی نوشته شده که توسعه دهنده از آن استفاده نمیکند، ساده گردد.
مشخصات زبان مشترک (CLS)
CLI باید با مجموعه قواعد مبنایی که هر زبانی آن را هدف قرار دادهاست، همنوا و منطبق گردد، زیرا آن زبان باید با دیگر زبانهای سازگار با CLS همکاری کند. قواعد CLS زیرمجموعه ای از سامانه نوع مشترک را معرفی میکند.
سامانه اجرای مجازی (VES)
VES در واقع به کمک فراداده، برنامههای سازگار با CLI را بارگذاری و اجرا میکند، تا سپس آن قطعه کدهای جداگانه تولید شده، در زمان اجرا، به صورت مجرا ترکیب شوند.
همه زبانهای سازگار به زبان میانی مشترک (CIL) کامپایل میشوند، که این زبان یک زبان میانی است که ویژگی آن این است که از بنسازی سختافزاری انتزاع یافتهاست. موقعی که کد اجرا میشود، VES که برای بنسازه خاصی ساخته شدهاست، زبان CIL را به زبان ماشین کامپایل میکند، که این کار براساس سختافزار و سیستمعامل خاص انجام میشود.
استانداردسازی و پروانه دهی
در سال آگوست ۲۰۰۰، شرکتهای مایکروسافت، هیولت پاکارد، اینتل و دیگر شرکتها، یک کار مشترک را شروع کردند تا CLI را استانداردسازی کنند. در دسامبر سال ۲۰۰۱، CLI توسط سازمان ایسیامای به تصویب رسید، سپس در آوریل سال ۲۰۰۳ سازمان ایزو آن را استانداردسازی کرد.
شرکت مایکروسافت و شرکایش، امتیاز اختراع CLI را در اختیار دارند. سازمانهای ایسیامای و ایزو، بر خود لازم میبینند که همه امتیازهای اختراع که پیادهسازی میشوند، تحت «شرایط معقول و غیرتبعیضآمیز (RAND)» دردسترس باشند. معمولاً پروانههای RAND باید کمی حق اختراع بپردازند، که به همین دلیل مورد توجه چارچوب مونو بودهاست. در ژانویه ۲۰۱۳، نه شرکت مایکروسافت، و نه سایر شرکایش، حق اختراعی برای پیادهسازی CLI که منوط به شرایط RAND باشد، تعیین نکرده بودند.
در ژولای ۲۰۰۹،[۴] شرکت مایکروسافت، سیشارپ و CLI را به لیست مشخصاتی اضافه نمود که تعهد انجمن مایکروسافت به آن اعمال میگردید،[۵] بنابراین هرکس میتوانست ویرایشهای مشخص شدهٔ استاندارد را پیادهسازی کند، و ترسی از نقض حقوق اختراعی از مایکروسافت ندارد. پیادهسازی استاندارد CLI نیاز به انطباق و همنوایی با یکی از رخنماهای پشتبانی شده و تعریف شدهٔ استاندارد دارد، که در حالت حداقلی باید رخنمای هسته را برآورده کند. رخنمای هسته در واقع مجموعه بسیار کوچکی از انواع برای پشتیبانی است این موضوع در مقابل کتابخانه هسته نصبهای داتنت پیش فرض مشهور قرار دارد. با این حال، مفاد انطباق با CLI، امکان گسترش رخنمای پشتیبانی شده را به کمک اضافه کردن شگردها (متدها) و انواع جدید به کلاسها، و همچنین مشتق شدن از فضاهای نام جدید را میدهد. اما اجازه اضافه کردن اعضای جدید به واسطها را نمیدهد. این به این معنا است که ویژگیهای CLI را میتوان استفاده کرد و گسترش داد، و این موضوع مادامی درست است که پیادهسازی رخنمای انطباقی، رفتار برنامه ای را که باید روی آن رخنما اجرا شود را تغییر ندهد، اما به رفتار تعیین نشده از برنامههایی که مخصوصاً برای آن پیادهسازی نوشته شدهاند، امکان وجود میدهد.
در سال ۲۰۱۲، سازمانهای ایسیامای و ایزو یک نسخه جدید از استاندارد CLI را منتشر کردند،[۲][۳] که این استاندارد توسط تعهد انجمن پوشش داده نمیشد.[۵]
پیادهسازیها
- چارچوب داتنت: پیاده سازی تجاری اصلی مایکروسافت برای CLI است. فقط از ویندوز پشتیبانی می کند. در نوامبر سال 2020 توسط داتنت جایگزین گردید.
- داتنت: جانشین آزاد و متن-باز و چندسکویی برای چارچوب داتنت است، که تحت پروانه MIT منتشر شده است.
- چارجوب فشرده داتنت: پیاده سازی تجاری مایکروسافت از CLI می باشد که به منظور وسایل قابل حمل و ایکسباکس ۳۶۰ طراحی شده است.
- چارچوب مایکرو داتنت: پیاده سازی متنباز CLI برای وسایلی است که از نظر منابع محدود اند.
- مونو: یک پیاده سازی متنباز جایگزین برای CLI و فنآوری های همراه است، که در اصل برای توسعه موبایل و بازی ها استفاده می شود.
پانویس
- ↑ «زیرساخت» [حملونقل درونشهری-جادهای، رایانه و فنّاوری اطلاعات] همارزِ «infrastructure»؛ منبع: گروه واژهگزینی. جواد میرشکاری، ویراستار. دفتر دوم. فرهنگ واژههای مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۶۴-۷۵۳۱-۳۷-۰ (ذیل سرواژهٔ زیرساخت)
- ↑ ۲٫۰ ۲٫۱ ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI)
- ↑ ۳٫۰ ۳٫۱ Standard ECMA-335 - 6th edition (June 2012)
- ↑ "The Ecma C# and CLI Standards - Port 25: The Open Source Community at Microsoft". 2009-07-06. Archived from the original on July 9, 2009. Retrieved September 26, 2009.
- ↑ ۵٫۰ ۵٫۱ Covered Specifications | Microsoft Open Specifications
منابع
- مشارکتکنندگان ویکیپدیا. «Common Language Infrastructure». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۲۶ بهمن ۱۳۹۹.