一般的な言語インフラストラクチャとは何ですか?
Common Language Infrastructure(CLI)は、コンピュータープログラミング言語の相互運用性を促進する国際的な技術基準のセットです。 CLIでは、多くの高レベルの言語がプラットフォームやアーキテクチャから独立したアプリケーションを開発することもできます。この目的のためにグループ化された30を超えるプログラミング言語があり、CLIに準拠するために共通言語プログラミング仕様の4つの部門を使用しています。
一般的なタイプシステム(CTS)と呼ばれるものを利用して、一連のデータ型と操作とプログラミング構造に関するメタデータ情報を使用すると、言語間コードの書き込みが可能になります。 CLIは、言語を一般的な中間言語(CIL)にまとめ、CILから、アプリケーションの側面をハードウェアに対処するマシン言語のアセンブリに伝えます。さらに、共通言語仕様(CLS)があります。これらは、操作を求めるあらゆる言語が使用するための基本ルールと、負荷の仮想実行システム(VES)です。すべてのCLI準拠プログラムの実行、実行、および実行コードの生成。コンパイルされてキャッシュされた後、ジャストインタイムコンパイラは既存のアーキテクチャからマシンコードを充当します。アセンブリマシンコードの構築は、CLRの前に先行するコンパイラを使用して構築することもできます。
CLIに準拠した言語については、オブジェクトの特異性を活用するために、共通言語インフラストラクチャは、オブジェクトは、呼び出されたときに他のCLIに準拠した言語と共通する機能を公開する必要があることのみを指定します。 CTSで受け入れられたデータ型のみを使用するために開発されたコードのコンポーネントは、CLIに準拠しており、他のすべてのCLIに準拠した言語にアクセスできると言われています。さらに、タイプの安全性によって迅速に検証できない言語の構成要素コードはCLSから除外されているため、検証可能なコードのみがCLSに準拠していると言えます。
いくつかのプログラミング機能は、コンパイラと開発者の両方に共通しており、他のプログラミング機能はコンパイラのみが利用できます。リストは長く、役立つ機能が満載です。コンパイラのみが利用できる機能は、参照識別子を提供し、キーワードである名前で仮想メソッドをオーバーライドできるキーワードです。コンパイラと開発者の両方が利用できる機能には、次のものが含まれます。プロパティとその評価者はすべて「静的」でなければならない、すべて「仮想」でなければならない、すべてが「インスタンス」でなければならないモディファイア機能。
実装プログラムは、デスクトップ、サーバー、モバイルデバイス、ゲームコンソール用です。コンピュータービジョンの拡張プログラムと低レベルの仮想機械ツールキットは、共通の言語インフラストラクチャと統合言語からも開発されています。一般的な言語インフラストラクチャランタイムはシステムリソースを割り当て、周辺デバイスを効率的に呼び出しますが、プラットフォーム独立。