Jump to content

Общая языковая инфраструктура

(Перенаправлено с ECMA-335 )
Общая языковая инфраструктура
ИСО/МЭК 23271:2012(Е)
Аббревиатура интерфейс командной строки
Статус Опубликовано
Год начался 2000 ; 24 года назад ( 2000 )
Впервые опубликовано 2001 год ; 23 года назад ( 2001 ) (Экма) и 2003 год ; 21 год назад ( 2003 ) (ISO/IEC)
Последняя версия Шестое издание
июнь 2012 г .; 12 лет назад ( 2012-06 )
Организация Разработчики: Microsoft , Hewlett-Packard , Intel и другие.
Стандартизировано: Ecma , ISO / IEC.
комитет ИСО/МЭК ОТК 1/ПК 22
Домен Общий язык ( кроссплатформенный )
Лицензия РЭНД
Веб-сайт ЭКМА-335 ,
ИСО/МЭК 23271

Common Language Infrastructure ( CLI ) — это открытая спецификация и технический стандарт, первоначально разработанный Microsoft и стандартизированный ISO / IEC ( ISO/IEC 23271 ) и Ecma International ( ECMA 335 ). [ 1 ] [ 2 ] который описывает исполняемый код и среду выполнения, которая позволяет несколько языков высокого уровня использовать на разных компьютерных платформах без переписывания для конкретных архитектур. Это означает, что он не зависит от платформы. .NET Framework , .NET и Mono являются реализациями CLI. Формат метаданных также используется для указания определений API, предоставляемых средой выполнения Windows . [ 3 ] [ 4 ]

Визуальный обзор инфраструктуры общего языка (CLI)

Помимо прочего, спецификация CLI описывает следующие пять аспектов:

Система общего типа (CTS)
Набор типов данных и операций, общих для всех CTS-совместимых языков программирования .
Метаданные
Информация о структуре программы не зависит от языка , поэтому на нее можно ссылаться между языками и инструментами, что упрощает работу с кодом, написанным на языке, который разработчик не использует.
Спецификация общего языка (CLS)
CLS, подмножество CTS, представляет собой правила, которым должны соответствовать компоненты, разработанные с использованием/для поддерживаемых языков.
Они применяются к потребителям (разработчикам, которые программно обращаются к компоненту, совместимому с CLS), платформам (разработчикам, которые используют компилятор языка для создания CLS-совместимых библиотек) и расширителям (разработчикам, которые создают такой инструмент, как компилятор языка). или анализатор кода, создающий CLS-совместимые компоненты).
Система виртуального исполнения (VES)
VES загружает и выполняет CLI-совместимые программы, используя метаданные для объединения отдельно сгенерированных фрагментов кода во время выполнения.
Все совместимые языки компилируются в Common Intermediate Language (CIL), который является промежуточным языком , абстрагированным от аппаратного обеспечения платформы. Когда код будет выполнен, VES для конкретной платформы скомпилирует CIL на машинный язык в соответствии с конкретным оборудованием и операционной системой.
В стандарте CLI, первоначально разработанном Microsoft, VES реализуется с помощью Common Language Runtime (CLR).
Стандартные библиотеки
Набор библиотек, обеспечивающих множество общих функций, таких как чтение и запись файлов. Их ядром является библиотека базовых классов (BCL).

Стандартизация и лицензирование

[ редактировать ]

В августе 2000 года Microsoft , Hewlett-Packard , Intel и другие работали над стандартизацией CLI. К декабрю 2001 года он был ратифицирован Ecma , а в апреле 2003 года последовала стандартизация ISO / IEC .

Microsoft и ее партнеры владеют патентами на CLI. Ecma и ISO/IEC требуют, чтобы все патенты, необходимые для реализации, были доступны на « разумных и недискриминационных условиях (RAND) ». Лицензирование RAND обычно требует выплаты роялти, что может стать причиной для беспокойства в отношении Mono . По состоянию на январь 2013 года ни Microsoft, ни ее партнеры не выявили каких-либо патентов, необходимых для реализации CLI, подпадающих под условия RAND.

По состоянию на июль 2009 г. [ 5 ] Microsoft добавила C# и CLI в список спецификаций, обещание сообщества Microsoft . к которым применяется [ 6 ] поэтому любой может безопасно внедрить определенные редакции стандартов, не опасаясь патентного иска со стороны Microsoft. Для реализации стандарта CLI требуется соответствие одному из поддерживаемых и определенных профилей стандарта, минимальным из которых является профиль ядра. Профиль ядра на самом деле представляет собой очень небольшой набор поддерживаемых типов по сравнению с хорошо известной базовой библиотекой установок .NET по умолчанию. Однако пункт о соответствии CLI позволяет расширять поддерживаемый профиль путем добавления к классам новых методов и типов, а также их производных от новых пространств имен. Но он не позволяет добавлять новых членов в интерфейсы. Это означает, что функции CLI можно использовать и расширять до тех пор, пока реализация соответствующего профиля не меняет поведение программы, предназначенной для запуска в этом профиле, допуская при этом неопределенное поведение программ, написанных специально для этой реализации.

В 2012 году Ecma и ISO/IEC опубликовали новую редакцию стандарта CLI. [ 1 ] [ 2 ]

Реализации

[ редактировать ]
  • .NET Framework — это оригинальная коммерческая реализация CLI от Microsoft. Он поддерживает только Windows. В ноябре 2020 года он был заменен .NET.
  • .NET , ранее известный как .NET Core, — это бесплатный многоплатформенный преемник .NET Framework с открытым исходным кодом, выпущенный по лицензии MIT.
  • .NET Compact Framework — это коммерческая реализация Microsoft CLI для портативных устройств и Xbox 360 .
  • .NET Micro Framework — это реализация CLI с открытым исходным кодом для устройств с ограниченными ресурсами.
  • Mono — это альтернативная реализация CLI и сопутствующих технологий с открытым исходным кодом, в основном используемая для разработки мобильных устройств и игр.
  • DotGNU — это выведенная из эксплуатации часть проекта GNU, начатого в январе 2001 года и направленного на предоставление бесплатного программного обеспечения с открытым исходным кодом, альтернативного Microsoft .NET Framework .

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Перейти обратно: а б «ISO/IEC 23271:2012 – Информационные технологии. Общеязыковая инфраструктура (CLI)» . ИСО . Архивировано из оригинала 2 июля 2023 года.
  2. ^ Перейти обратно: а б «ЭКМА-335» . ЭКМА Интернешнл . Июнь 2012. Архивировано из оригинала 16 октября 2023 года.
  3. ^ «Введение в продвинутую разработку приложений для Магазина Windows с использованием HTML5 и JavaScript» . Пресс-магазин Microsoft . 15 октября 2013 г. Архивировано из оригинала 30 марта 2023 г.
  4. ^ де Икаса, Мигель (15 сентября 2011 г.). «WinRT демистифицируется» . Архивировано из оригинала 30 ноября 2023 года.
  5. ^ Галли, Питер (6 июля 2009 г.). «Стандарты Ecma C# и CLI» . Порт 25 . Архивировано из оригинала 9 июля 2009 года . Проверено 26 сентября 2009 г.
  6. ^ в-алье (16 марта 2023 г.). «[MS-DEVCENTLP]: обещание сообщества Microsoft» . Microsoft Learn . Проверено 1 мая 2023 г.
[ редактировать ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7df3453358db25e3c51de2cb831b05a5__1723077720
URL1:https://arc.ask3.ru/arc/aa/7d/a5/7df3453358db25e3c51de2cb831b05a5.html
Заголовок, (Title) документа по адресу, URL1:
Common Language Infrastructure - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)