「共通言語基盤」の版間の差分

削除された内容 追加された内容
Alexbot (会話 | 投稿記録)
m ロボットによる 追加: zh:通用语言架构
m 括弧
1行目:
[[Image:Diagram of Common Language Infrastructure (ja).png|thumb|280px|共通言語基盤。]]
'''共通言語基盤''' ('''{{lang|en|Common Language Infrastructure}}'''、'''CLI''') は、[[.NET Framework]]の基幹を構成する実行コードや実行環境などについての[[マイクロソフト]]が作った仕様である。CLIは、[[プログラミング言語]]や[[コンピュータ・アーキテクチャ]]に依存しない環境を定義しており、様々な[[高級言語]]で書いた[[ソースコード]]が書き直すことなく他の[[プラットフォーム]]でも使えるようになっている。
 
CLIの性質を説明する際に、CLIのことを[[共通言語ランタイム]](CLR) (CLR) と呼ぶ場合があるが、これは厳密には誤りである。CLIは仕様であり、CLRはそれを実装したものの一つにすぎない。
 
CLIに含まれる重要な概念として、次の4つのものがある。
10行目:
* '''[[仮想実行システム]] (VES)''' — CLIに適合したプログラムの読込と実行。メタデータを活用して動的に機械語を生成する。
 
CLIに適合するプログラムは全て[[共通中間言語]] (CIL) へコンパイルされる。CILは、ハードウェアから抽象化された[[中間言語]]であり、実行時にはVESが[[機械語]]へコンパイルする。
 
== 標準化とライセンス ==
[[2000年]][[8月]]に[[マイクロソフト]]、[[ヒューレットパッカード]]、[[インテル]]そしてその他いくつかの企業がCLIの標準化に動いた。[[2001年]][[11月]][[Ecma International]]に承認され、[[2003年]][[4月]]には[[国際標準化機構|ISO]]にも承認された。その翻訳として[[2006年]][[11月]]、[[日本工業規格|JIS]] X 3016が公開された。
 
マイクロソフトとそのパートナーがCLIに対する特許を保持していたため、Ecma InternationalとISOは実装に必要な全ての特許を「合理的かつ非差別的」なライセンス ([[RANDライセンス|RAND]]) にするよう求め、各企業はそれを受け入れた。そして、「ロイヤリティーフリー、その他はRAND」という形態になった。
 
== 実装 ==