زیرساخت زبان مشترک: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
خط ۱:
{{عنوان مقاله}}
'''زیرساخت'''<ref>{{یادکرد فرهنگستان|مصوب=زیرساخت|بیگانه=infrastructure|بیگانه در فارسی=|حوزه=حمل‌ونقل درون‌شهری-جاده‌ای، رایانه و فنّاوری اطلاعات|دفتر=دوم|بخش=فارسی|سرواژه=زیرساخت}}</ref> '''زبان مشترک''' {{به انگلیسی|Common Language Infrastructure}} با کوته نوشت CLI یک [[:en:Specification_(technical_standard)|مشخصات]] آزاد (استاندارد فنی) است که توسط [[مایکروسافت]] ایجاد و توسط سازمان‌های [[سازمان بین‌المللی استانداردسازی|ایزو]] و [[:en:Ecma_International|ای‌سی‌ام‌ای]]<ref name="iso_iec_23271_2012">[http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=58046 ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI)]</ref><ref name="ecma_355_2012">[http://www.ecma-international.org/publications/standards/Ecma-335.htm Standard ECMA-335 - 6th edition (June 2012)]</ref> استانداردسازی شده‌است. این استاندارد توصیف کننده کد قابل اجرا و نیز محیط اجرایی است که به [[زبان‌های برنامه‌نویسی در فناوری دات‌نت|چندین زبان سطح بالا]] اجازه اجرا استفاده در [[بن‌سازه رایانش|بن‌سازه‌های رایانه‌ای]] مختلف را (بدون نیاز به بازنویسی برای معماری خاص) می‌دهد. این ویژگی یعنی CLI نفی کننده (منکر) وجود بن‌سازه‌ها است. [[چارچوب دات‌نت]]، [[چارچوب دات نت کر|دات‌نت]]، و [[مونو (نرم‌افزار)|مونو]] پیاده‌سازی‌های CLI هستند.
 
== دید کلی ==
خط ۲۸:
شرکت مایکروسافت و شرکایش، امتیاز اختراع CLI را در اختیار دارند. سازمان‌های ای‌سی‌ام‌ای و ایزو، بر خود لازم می‌بینند که همه امتیازهای اختراع که پیاده‌سازی می‌شوند، تحت «[[:en:Reasonable_and_non-discriminatory_licensing|شرایط معقول و غیرتبعیض‌آمیز (RAND)]]» دردسترس باشند. معمولاً پروانه‌های RAND باید کمی حق اختراع بپردازند، که به همین دلیل مورد توجه [[مونو (نرم‌افزار)|چارچوب مونو]] بوده‌است. در ژانویه ۲۰۱۳، نه شرکت مایکروسافت، و نه سایر شرکایش، حق اختراعی برای پیاده‌سازی CLI که منوط به شرایط RAND باشد، تعیین نکرده بودند.
 
در ژولای ۲۰۰۹،<ref>{{Cite web|url=http://port25.technet.com/archive/2009/07/06/the-ecma-c-and-cli-standards.aspx|title=The Ecma C# and CLI Standards - Port 25: The Open Source Community at Microsoft|date=2009-07-06|access-date=September 26, 2009|archive-url=https://web.archive.org/web/20090709232640/http://port25.technet.com/archive/2009/07/06/the-ecma-c-and-cli-standards.aspx|archive-date=July 9, 2009|url-status=dead}}</ref> شرکت [[مایکروسافت]]، [[سی‌شارپ]] و CLI را به لیست مشخصاتی اضافه نمود که [[:en:Microsoft_Open_Specification_Promise|تعهد انجمن مایکروسافت]] به آن اعمال می‌گردید،<ref name="mcp_covered_specifications">[http://www.microsoft.com/openspecifications/en/us/programs/community-promise/covered-specifications/default.aspx Covered Specifications | Microsoft Open Specifications]</ref> بنابراین هرکس می‌توانست ویرایش‌های مشخص شدهٔ استاندارد را پیاده‌سازی کند، و ترسی از نقض حقوق اختراعی از مایکروسافت ندارد. پیاده‌سازی استاندارد CLI نیاز به انطباق و همنوایی با یکی از رخ‌نماهای پشتبانی شده و تعریف شدهٔ استاندارد دارد، که در حالت حداقلی باید رخ‌نمای هسته را برآورده کند. رخ‌نمای هسته در واقع مجموعه بسیار کوچکی از انواع برای پشتیبانی است این موضوع در مقابل کتابخانه هسته نصب‌های دات‌نت پیش فرض مشهور قرار دارد. با این حال، مفاد انطباق با CLI، امکان گسترش رخ‌نمای پشتیبانی شده را به کمک اضافه کردن شگردها (متدها) و انواع جدید به کلاس‌ها، و همچنین مشتق شدن از فضاهای نام جدید را می‌دهد. اما اجازه اضافه کردن اعضای جدید به واسط‌ها را نمی‌دهد. این به این معنا است که ویژگی‌های CLI را می‌توان استفاده کرد و گسترش داد، و این موضوع مادامی درست است که پیاده‌سازی رخ‌نمای انطباقی، رفتار برنامه ای را که باید روی آن رخ‌نما اجرا شود را تغییر ندهد، اما به رفتار تعیین نشده از برنامه‌هایی که مخصوصاً برای آن پیاده‌سازی نوشته شده‌اند، امکان وجود می‌دهد.
 
در سال ۲۰۱۲، سازمان‌های ای‌سی‌ام‌ای و ایزو یک نسخه جدید از استاندارد CLI را منتشر کردند،<ref name="iso_iec_23271_2012" /><ref name="ecma_355_2012" /> که این استاندارد توسط تعهد انجمن پوشش داده نمی‌شد.<ref name="mcp_covered_specifications" />
 
== پانویس ==