共通言語基盤
読み:きょうつうげんごきばん
外語:CLI: Common Language Infrastructure

 .NET Framework仮想計算機の標準仕様。英名を略して「CLI」と呼ばれる。
目次

概要
 .NET Frameworkによって提供される機能のうち、仮想計算機の標準仕様。Javaでいうところの「JVMの仕様」に対応する。
 この仕様がMicrosoftにより実装され、提供されているものが「共通言語ランタイム」(CLR)である。
 ISO/IEC 23271として国際標準化され、その日本規格としてJIS X 3016が制定された。

特徴

標準化
 まずECMAにより標準化されECMA-335となり、次いでISO標準となった。
 またMicrosoftからも、サンプルの実装としてSSCLI(Shared Source CLI)のソースが2002(平成14)年11月から公開されており、学術用途であれば無料で使用できる。
 このSSCLIは、Windows XPのほか、FreeBSDOS Xでも動作する。

仕様公開
 CLIは確かにECMA標準であり、ISO標準であり、JIS規格であり、オープンソースであるが、かといって、.NET Frameworkがオープンであるかというと、そうではない。
 Windowsアプリケーション用クラスライブラリであるWindows Form、WebアプリケーションやXML Webサービスを提供するASP .NET、あるいはデータベース接続を行なうADO .NETなど、.NET Frameworkのうちの実用的な機能は非公開である。
 つまり、公開された仕様で作成可能なのはコンソールプログラムくらい、ということになる。

実装
 CLIの実装には、次のようなものがある。

一覧

主要な言語実装
 理論上、どのようなプログラミング言語でも利用することができるが、それを実装として提供する人がいるかどうかが課題である。
 現時点では、次のような言語実装が確認されている。
 言語名別の一覧は後述

メジャーなもの

マイナーなもの

主な言語一覧

再検索