Ортақ Тілдік Инфрақұрылым: Техникалық Стандарт және Орындалу Ортасы
Common Language Infrastructure
Жалпы тілдік инфрақұрылым (CLI) – .NET Framework, Mono сияқты орталықтар үшін ашық стандарт. Әртүрлі платформаларда кодты орындауға мүмкіндік береді. 💻🌐
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Ашық спецификация, NET framework, мұралық NET Framework және басқа да орындау орталықтарын анықтау үшін қолданылады. Common Language Infrastructure (CLI) – бастапқыда Microsoft әзірлеген және ISO/IEC (ISO/IEC 23271) және Ecma International (ECMA 335) ұйымдарымен стандартталған ашық спецификация және техникалық стандарт. Ол орындалатын кодты және түрлі компьютер платформаларында арнайы архитектураға қайта жазылмай, жоғары деңгейдегі бірнеше тілдерді қолдануға мүмкіндік беретін орындау ортасын сипаттайды. Бұл оның платформаға тәуелсіз екенін білдіреді. NET Framework, NET және Mono – CLI-нің іске асырылуы болып табылады. Метадеректер форматы Windows Runtime жүйесінде ашылатын API анықтамаларын көрсету үшін де қолданылады.
Open specification used to define the NET framework, the legacy NET Framework, and other runtimes
The Common Language Infrastructure (CLI) is an open specification and technical standard originally developed by Microsoft and standardized by ISO/IEC (ISO/IEC 23271) and Ecma International (ECMA 335) that describes executable code and a runtime environment that allows multiple high level languages to be used on different computer platforms without being rewritten for specific architectures. This implies it is platform agnostic. The NET Framework, NET and Mono are implementations of the CLI. The metadata format is also used to specify the API definitions exposed by the Windows Runtime.
Стандарттау және лицензиялау
2000 жылдың тамызында Microsoft, Hewlett Packard, Intel және тағы да басқалар CLI стандартындау жөнінде жұмыс істеді. 2001 жылдың желтоқсанында ол Ecma ұйымы ратификациялады, ал 2003 жылдың сәуірінде ISO/IEC ұйымдары стандарттауды жүзеге асырды. Microsoft және оның серіктестері CLI патенттеріне ие. Ecma және ISO/IEC барлық патенттердің, іске асыру үшін қажеттілерінің, "әділ және кемсітпеуші (RAND) шарттармен" қолжетімді болуын талап етеді. RAND лицензиялау кезінде белгілі бір роялти төлемі талап етілуі мүмкін, бұл Mono үшін алаңдау тудыруы мүмкін. 2013 жылдың қаңтарына дейін Microsoft және оның серіктестері RAND шарттарына сәйкес CLI іске асыру үшін қажетті ешқандай патентті анықтаған жоқ. 2009 жылдың шілдесінен бастап Microsoft, C# және CLI тізімін Microsoft Community Promise қолданылатын спецификациялар тізіміне қосты, сондықтан кез келген адам Microsoft-тан патенттік сот процесінен қорқып, стандарттардың белгіленген нұсқаларын қауіпсіз түрде іске асыра алады. CLI стандартын іске асыру үшін стандарттың қолдау көрсетілетін және анықталған профильдерінің біріне сәйкес болу қажет, олардың ең төменгісі – ядролық профиль. Ядролық профиль, әдеттегі NET орнатуларының кең таралған негізгі кітапханасымен салыстырғанда, қолдау үшін типтердің өте шағын жиынтығын құрайды. Алайда, CLI сәйкестік шарты жаңа әдістер мен типтерді кластарға қосу арқылы, сондай-ақ жаңа кеңестік атаулардан туындату арқылы қолдау көрсетілетін профильді кеңейтуге мүмкіндік береді. Бірақ ол интерфейстерге жаңа мүшелерді қосуға рұқсат бермейді. Бұл CLI мүмкіндіктерін пайдалануға және кеңейтуге мүмкіндік береді, егер сәйкестік профилінің іске асырылуы осы профильде орындалуға арналған бағдарламаның мінез-құлқын өзгертпесе, сонымен қатар осы іске асыру үшін арнайы жазылған бағдарламалардың белгіленбеген мінез-құлқына жол береді. 2012 жылы Ecma және ISO/IEC CLI стандартының жаңа басылымын жариялады.
In August 2000, Microsoft, Hewlett Packard, Intel, and others worked to standardize CLI. By December 2001, it was ratified by the Ecma, with ISO/IEC standardization following in April 2003. Microsoft and its partners hold patents for CLI. Ecma and ISO/IEC require that all patents essential to implementation be made available under "reasonable and non discriminatory (RAND) terms." It is common for RAND licensing to require some royalty payment, which could be a cause for concern with Mono. As of January 2013, neither Microsoft nor its partners have identified any patents essential to CLI implementations subject to RAND terms. As of July 2009, Microsoft added C# and CLI to the list of specifications that the Microsoft Community Promise applies to, so anyone can safely implement specified editions of the standards without fearing a patent lawsuit from Microsoft. To implement the CLI standard requires conformance to one of the supported and defined profiles of the standard, the minimum of which is the kernel profile. The kernel profile is actually a very small set of types to support in comparison to the well known core library of default NET installations. However, the conformance clause of the CLI allows for extending the supported profile by adding new methods and types to classes, as well as deriving from new namespaces. But it does not allow for adding new members to interfaces. This means that the features of the CLI can be used and extended, as long as the conforming profile implementation does not change the behavior of a program intended to run on that profile, while allowing for unspecified behavior from programs written specifically for that implementation. In 2012, Ecma and ISO/IEC published the new edition of the CLI standard.
Қолданылу
.NET Framework – Microsoft-тың CLI-нің алғашқы коммерциялық нұсқасы. Ол тек Windows жүйесін қолдайды. 2020 жылдың қараша айында .NET оның орнына келді. .NET (бұрын .NET Core деп белгілі болған) – MIT лицензиясымен шығарылған, .NET Framework-тің көп платформалық, ашық бастапқы коды бар мұрагері. .NET Compact Framework – портативті құрылғылар мен Xbox 360 үшін Microsoft-тың CLI-нің коммерциялық нұсқасы. .NET Micro Framework – мүмкіндіктері шектеулі құрылғылар үшін CLI-нің ашық бастапқы коды. Mono – CLI және оған қоса жүретін технологиялардың балама ашық бастапқы коды, негізінен мобильді және ойын әзірлеу үшін қолданылады.
. NET Framework is Microsoft's original commercial implementation of the CLI. It only supports Windows. It was superseded by NET in November 2020. NET, previously known as NET Core, is the free and open source multi platform successor to NET Framework, released under the MIT License NET Compact Framework is Microsoft's commercial implementation of the CLI for portable devices and Xbox 360. NET Micro Framework is an open source implementation of the CLI for resource constrained devices. Mono is an alternative open source implementation of CLI and accompanying technologies, mainly used for mobile and game development.