Языки CLI — это языки программирования, которые используются для создания библиотек и программ, соответствующих спецификациям Common Language Infrastructure (CLI). За некоторыми заметными исключениями большинство языков CLI полностью компилируются в Common Intermediate Language (CIL), промежуточный язык, который может быть выполнен с использованием Common Language Runtime , реализованный в .NET Framework , .NET Core и Mono . Некоторые из этих языков также требуют Dynamic Language Runtime (DLR).
По мере выполнения программы код CIL компилируется (и кэшируется) в машинный код, соответствующий архитектуре, на которой выполняется программа. Этот шаг можно пропустить вручную, выполнив кэширование на более раннем этапе с помощью компилятора " ahead of time", например, ngen.exe от Microsoft и опции "-aot" от Mono.
Известные языки CLI
Текущие языки
- Ада для .Net
- Ada — это многопарадигмальный язык, который уделяет большое внимание безопасности кода, удобству его поддержки и корректности. [1]
- Буу
- Статически типизированный язык CLI, созданный на основе Python .
- С#
- Наиболее широко используемый язык CLI, [2] имеющий сильное сходство с Java и некоторое сходство с Object Pascal ( Delphi ) и C++ . Реализации, предоставляемые .NET Framework , .NET Core и Mono .
- C++/CLI
- Версия C++ , включающая расширения для использования объектов Common Language Runtime (CLR). Обеспечивает полную поддержку .NET Framework и поддержку .NET Core только на уровне библиотеки . Создает смешанный код, который создает собственный код для объектов C++. Компилятор предоставляется Microsoft.
- ClojureCLR
- Порт Clojure для CLI, часть проекта Clojure . [3]
- Компонент Паскаль
- CLI-совместимый диалект Оберона . Это строго типизированный язык в наследии Паскаля и Модулы-2, но с мощными объектно-ориентированными расширениями.
- Эйфелева
- Чисто объектно-ориентированный язык, ориентированный на качество программного обеспечения, включающий интегрированное проектирование по контракту и множественное наследование. Совместим с CLI.
- Фа#
- Мультипарадигмальный язык CLI, поддерживающий функциональное программирование и императивные дисциплины объектно-ориентированного программирования . Вариант ML , в значительной степени совместимый с OCaml . Реализации, предоставляемые .NET Framework , .NET Core и Mono .
- Е*
- Язык с зависимой типизацией, основанный на F#.
- Идти
- с помощью компилятора RemObjects Gold и многоплатформенного таргетинга.
- IronPython
- CLI-реализация Python с открытым исходным кодом , построенная на динамической языковой среде выполнения (DLR).
- IronScheme
- Реализация схемы , совместимой с R6RS, построенная на DLR
- Ява
- с помощью компилятора RemObjects Iodine и многоплатформенного таргетинга.
- Кислород
- Язык командной строки на основе Object Pascal .
- PascalABC.NET
- Язык на основе Object Pascal , реализованный на платформе .NET Framework.
- Персиковый пирог
- Компилятор PHP в .NET и .NET Core. Преемник Phalanger.
- PowerBuilder
- Может работать с CLI, начиная с версии 11.1.
- RemObjects Меркурий
- Язык командной строки на основе Visual Basic .Net .
- Ржавчина
- Исследовательский проект для экспериментального бэкенда .NET для Rust. [4]
- Маленький базовый
- Язык программирования на основе BASIC, созданный Microsoft для обучения программированию. Поддерживаемые выпуски ориентированы на .NET Framework версий 3.5 и 4.5.
- Сильверфрост FTN95
- Реализация Fortran 95.
- Быстрый
- с помощью компилятора RemObjects Silver и многоплатформенного нацеливания.
- Синергия DBL .NET
- Объектно-ориентированная реализация DBL и DIBOL , совместимая с CLI , созданная Synergex. [5]
- Команда разработчиков
- SQLWindows Application Language (SAL) начиная с Team Developer 6.0.
- Visual Basic.NET
- Переработанный диалект классического Visual Basic . Реализации, предоставляемые .NET Framework , .NET Core и Mono .
- Визуальный КОБОЛ
- Улучшенная версия COBOL, портированная на .NET Framework и JVM, созданная Micro Focus . [6]
- PowerShell
- Объектно-ориентированная оболочка командной строки . PowerShell может динамически загружать сборки .NET, написанные на любом языке CLI. Сам PowerShell использует уникальный синтаксис сценариев и использует фигурные скобки, как и другие языки на основе C.
- XSharp
- X# — это язык разработки с открытым исходным кодом для Microsoft .NET, основанный на языке xBase. Он поставляется в различных вариантах, таких как Core, Visual Objects, Vulcan.NET, xBase++, Harbour, Foxpro и другие.
Заброшенные или устаревшие языки
- А#
- CLI-реализация Ada .
- Аксум
- Параллельный язык программирования модели актора .
- Кобра
- Язык CLI со статической и динамической типизацией , проектированием по контракту и встроенным модульным тестированием .
- Фантом
- Язык, компилируемый в .NET (больше не находится в активной разработке) и в JVM
- GrGen .NET
- Язык CLI для переписывания графов
- ЖелезныйРубин
- CLI-реализация Ruby с открытым исходным кодом , построенная на динамической языковой среде выполнения (DLR).
- J#
- CLI-совместимая реализация Java . Компилятор предоставлен Microsoft. Поддержка J# прекращена. Последняя версия поставлялась с Visual Studio 2005 и поддерживалась до 2015 года.
- JScript .NET
- CLI-реализация ECMAScript версии 3, совместимая с JScript . Содержит расширения для статической типизации . Устарело в пользу Managed JScript .
- Управляемый JScript
- CLI-реализация JScript , построенная на Dynamic Language Runtime (DLR). Соответствует ECMAScript версии 3.
- Управляемые расширения для C++
- Версия C++, ориентированная на Common Language Runtime (CLR). Устарела в пользу C++/CLI .
- Неча
- CLI-реализация Perl 6 .
- Немерле
- Многопарадигменный язык, похожий на C#, OCaml и Lisp.
- Фалангер
- Реализация PHP с расширениями для ASP.NET . Предшественник PeachPie.
- UnityScript
- JavaScript- подобный язык, специфичный для игрового движка Unity . Устарел в пользу C# .
Связанный
- IKVM.NET
- Виртуальная машина Java , которую можно использовать для запуска Java и других языков JVM (например, JVM, таких как Groovy , Scala ) в реализациях CLI.
Смотрите также
- Список языков JVM
- .NET Framework — оригинальная реализация, которая вскоре будет объявлена устаревшей.
- Mono — реализация .NET Framework с открытым исходным кодом, используемая во многих местах, включая Unity и Xamarin .
- .NET Core — кроссплатформенный преемник .NET Framework с открытым исходным кодом.
Ссылки
- ^ "GNAT для .Net". adacore.com . Получено 2021-03-27 .
- ^ Priyadarshini, Manisha (25 июня 2018 г.). «10 самых популярных языков программирования в 2018 году: научитесь кодировать». Fossbytes . Получено 25 июня 2018 г. .
- ^ "ClojureCLR". GitHub.com . Получено 28.06.2012 .
- ^ "rust_codegen_clr". GitHub.com . Получено 2024-08-30 .
- ^ «Другой язык для Visual Studio и .Net: Synergex выпускает Synergy/DE». msdn.com .
- ^ Handy, Alex (20 августа 2015 г.). "COBOL приходит в Visual Studio 2015 - SD Times". SD Times . Получено 2017-04-04 .