共通言語基盤
.NET Frameworkの基幹を構成する実行コードや実行環境などについてマイクロソフトが策定した仕様
共通言語基盤(きょうつうげんごきばん、英語: Common Language Infrastructure、略称 : CLI)は、.NET Frameworkの基幹を構成する実行コードや実行環境などについてマイクロソフトが策定した仕様である。仕様は、ECMA-335 および ISO/IEC 23271 として標準化され公開されている。CLIは、プログラミング言語やコンピュータ・アーキテクチャに依存しない環境を定義しており、様々な高水準言語で書いたソースコードが書き直すことなく他のプラットフォームでも使える。
共通言語ランタイム (CLR) は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」という形態になった。
実装
編集- Microsoft .NET Framework - マイクロソフトのデスクトップ向けの商用実装。様々なリソース、ライブラリ、ツールも含まれている。
- シェアードソース共通言語基盤 - マイクロソフトによるリファレンス実装。シェアードソースのライセンスの元で利用できる。
- .NET Compact Framework - マイクロソフトによるポータブルデバイス向けの商用実装。
- Mono - オープンソースの実装として知られている。
- Portable.NET - DotGNUプロジェクトの一環。こちらもオープンソースの実装であったが2102年に廃止された[1]。
- PlayStation Suite - ソニー・コンピュータエンタテインメントによる多機種共通環境を目指した実装。ECMA-335カスタム仕様[2]。
脚注
編集- ^ “DotGNU Project”. 2023年12月11日閲覧。 “As of December 2012, the DotGNU project has been decommissioned, until and unless a substantial new volunteer effort arises. The exception is the libjit component, which is now a separate libjit package.”
- ^ Paul Holman. “Portable Entertainment Development - the console approach” (英語). SCEE. 2012年2月22日閲覧。
参照
編集- “Standard ECMA-335, Common Language Infrastructure (CLI)”. Ecma International. 2005年8月31日閲覧。
- “ISO/IEC 23271, Common Language Infrastructure”. ISO. 2005年8月31日閲覧。