Loading article…
CLI 言語は、共通言語インフラストラクチャ (CLI) 仕様に準拠したライブラリやプログラムを作成するために使用されるコンピューター プログラミング言語です。いくつかの注目すべき例外はありますが、ほとんどの CLI 言語は、 .NET Framework、.NET Core、およびMonoによって実装される共通言語ランタイムを使用して実行できる中間言語である共通中間言語 (CIL)に完全にコンパイルされます。これらの言語の一部には、動的言語ランタイム(DLR) も必要です。
プログラムが実行されると、CIL コードは、プログラムが実行されているアーキテクチャに適したマシン コードにジャストインタイムでコンパイル (およびキャッシュ) されます。この手順は、Microsoft のngen.exeや Mono の "-aot" オプションなどの"事前" コンパイラを使用して、早い段階でキャッシュすることで手動で省略できます。
注目すべきCLI言語
現在の言語
- .Net 用の Ada
- Adaはコードの安全性、保守性、正確性を重視したマルチパラダイム言語です。[1]
- ブー
- Pythonに触発された静的に型付けされたCLI言語。
- C#
- 最も広く使用されているCLI言語[2] 。Javaと非常によく似ており、Object Pascal(Delphi)やC++とも多少似ています。.NET Framework、.NET Core、Monoによって実装が提供されています。
- C++/CLI
- 共通言語ランタイム (CLR) オブジェクトを使用するための拡張機能を含むC ++のバージョン。.NET Frameworkの完全なサポートと、 .NET Coreのライブラリのみのサポートを提供します。C++ オブジェクトのネイティブ コードを生成する混合モード コードを生成します。コンパイラは Microsoft によって提供されます。
- クロージャCLR
- Clojureプロジェクトの一部であるCLIへのClojureの移植。[3]
- コンポーネントパスカル
- CLI 準拠のOberon方言。Pascal と Modula-2 の伝統を受け継いだ強力に型付けされた言語ですが、強力なオブジェクト指向の拡張機能を備えています。
- エッフェル
- ソフトウェアの品質に重点を置いた純粋なオブジェクト指向言語で、契約による統合設計と多重継承が含まれます。CLI に準拠しています。
- ファ#
- 関数型プログラミングと命令型オブジェクト指向プログラミングの分野をサポートするマルチパラダイム CLI 言語。MLのバリアントであり、 OCamlとほぼ互換性があります。実装は、 .NET Framework、.NET Core、およびMonoによって提供されます。
- クソ*
- F# をベースにした依存型言語。
- 行く
- RemObjects Goldコンパイラとマルチプラットフォーム ターゲティング経由。
- アイアンパイソン
- Dynamic Language Runtime (DLR) 上に構築された、Pythonのオープンソース CLI 実装。
- アイアンスキーム
- DLR上に構築されたR6RS準拠のScheme実装
- ジャワ
- RemObjects Iodineコンパイラとマルチプラットフォーム ターゲティング経由。
- オキシゲン
- Object Pascalベースの CLI 言語。
- パスカルABC.NET
- .NET Framework 上に実装されたObject Pascalベースの言語。
- ピーチパイ
- PHP から .NET および .NET Core へのコンパイラ。Phalanger の後継。
- パワービルダー
- バージョン 11.1 以降では CLI をターゲットにできます。
- RemObjects 水星
- Visual Basic .Netベースの CLI 言語。
- さび
- Rust用の実験的な.NETバックエンドの研究プロジェクト。[4]
- スモールベーシック
- プログラミング教育用に Microsoft が作成した BASIC 由来のプログラミング言語。サポートされているリリースは、.NET Frameworkバージョン 3.5 および 4.5 を対象としています。
- シルバーフロストFTN95
- Fortran 95の実装。
- 迅速
- RemObjects Silverコンパイラとマルチプラットフォーム ターゲティング経由。
- シナジー DBL .NET
- Synergex社が開発したDBLとDIBOLのオブジェクト指向CLI準拠実装。[5]
- チーム開発者
- Team Developer 6.0 以降の SQLWindows アプリケーション言語 (SAL)。
- ビジュアルベーシック
- Classic Visual Basicの再設計された方言。.NET Framework、.NET Core、およびMonoによって提供される実装。
- ビジュアル COBOL
- Micro Focus社が開発した、 .NET FrameworkとJVMに移植されたCOBOLの拡張バージョン。[6]
- パワーシェル
- オブジェクト指向のコマンドライン シェル。PowerShell は、任意の CLI 言語で記述された .NET アセンブリを動的に読み込むことができます。PowerShell 自体は、他の C ベースの言語と同様に、独自のスクリプト構文と中括弧を使用します。
- Xシャープ
- X# は、xBase 言語に基づいた Microsoft .NET 用のオープン ソース開発言語です。Core、Visual Objects、Vulcan.NET、xBase++、Harbour、Foxpro など、さまざまな種類があります。
廃止または非推奨となった言語
- A#
- Adaの CLI 実装。
- アクスム
- アクターモデルの 並行プログラミング言語。
- コブラ
- 静的および動的型付け、契約による設計、組み込みのユニット テストを備えた CLI 言語。
- ファントム
- .NET(現在は開発中ではない)およびJVMにコンパイルする言語
- GrGen .NET
- グラフ書き換えのためのCLI言語
- アイアンルビー
- Dynamic Language Runtime (DLR) 上に構築されたRubyのオープンソース CLI 実装。
- じ#
- Javaの CLI 準拠の実装。コンパイラは Microsoft によって提供されています。J# は廃止されました。最後のバージョンは Visual Studio 2005 に同梱され、2015 年までサポートされていました。
- .NET のスクリプト
- JScriptと互換性のあるECMAScriptバージョン 3の CLI 実装。静的型付けの拡張機能が含まれています。Managed JScriptに置き換えられたため非推奨です。
- マネージド JScript
- Dynamic Language Runtime (DLR) 上に構築されたJScriptの CLI 実装。ECMAScriptバージョン 3 に準拠しています。
- C++ のマネージ拡張
- 共通言語ランタイム (CLR) をターゲットとするC++のバージョン。C ++/CLIに置き換えられたため非推奨です。
- ニェツァ
- Perl 6の CLI 実装。
- ネメルル
- C#、OCaml、Lisp に似たマルチパラダイム言語。
- ファランジェ
- ASP.NETの拡張機能を備えたPHPの実装。PeachPie の前身。
- スクリプト
- Unity ゲーム エンジンに固有のJavaScriptのような言語。C #に置き換えられたため非推奨です。
関連している
- 翻訳
- CLI 実装上でJavaやその他の JVM 言語 ( Groovy、Scalaなどの JVM など)を実行するために使用できるJava 仮想マシン。
参照
- JVM言語のリスト
- .NET Framework は、間もなく廃止される予定のオリジナルの実装です。
- 共通言語インフラストラクチャ(CLI)、.NET フレームワークのランタイム環境 (仮想マシン コンポーネント) のオープン仕様
- 共通中間言語(CIL) は、CLI の実装を使用して実行できる中間言語です。
- Common Language Runtime は、Microsoft の .NET Framework 実装の仮想マシン コンポーネントです。
- .NET 標準ライブラリ
- 基本クラスライブラリ(BCL)
- Mono は、 UnityやXamarinなど多くの場所で使用されている .NET Framework のオープンソース実装です。
- .NET Core は、.NET Framework のオープン ソース クロスプラットフォームの後継です。
参考文献
- ^ 「GNAT for .Net」。adacore.com 。 2021年3月27日閲覧。
- ^ Priyadarshini, Manisha (2018 年 6 月 25 日)。「2018 年に最も人気のある 10 のプログラミング言語: コードの学習」。Fossbytes。2018年6 月 25 日閲覧。
- ^ 「ClojureCLR」。GitHub.com 。2012年6月28日閲覧。
- ^ "rust_codegen_clr". GitHub.com . 2024年8月30日閲覧。
- ^ 「Visual Studio および .Net 用の別の言語: Synergex が Synergy/DE をリリース」。msdn.com。
- ^ Handy, Alex (2015 年 8 月 20 日). 「COBOL が Visual Studio 2015 に登場 - SD Times」. SD Times . 2017 年 4 月 4 日閲覧。
