.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のほか、FreeBSDとOS Xでも動作する。
CLIは確かにECMA標準であり、ISO標準であり、JIS規格であり、オープンソースであるが、かといって、.NET Frameworkがオープンであるかというと、そうではない。
Windowsアプリケーション用クラスライブラリであるWindows Form、WebアプリケーションやXML Webサービスを提供するASP .NET、あるいはデータベース接続を行なうADO .NETなど、.NET Frameworkのうちの実用的な機能は非公開である。
つまり、公開された仕様で作成可能なのはコンソールプログラムくらい、ということになる。
CLIの実装には、次のようなものがある。
- Microsoft .NET Framework ‐ Microsoftによるデスクトップ用実装
- Microsoft .NET Compact Framework ‐ Microsoftによるモバイル機器用実装
- シェアードソースCLI ‐ Microsoftによるサンプルの実装
- Mono ‐ Linux用のオープンソース実装の一つ
- DotGNU Portable.NET ‐ オープンソース実装の一つ
理論上、どのようなプログラミング言語でも利用することができるが、それを実装として提供する人がいるかどうかが課題である。
現時点では、次のような言語実装が確認されている。
言語名別の一覧は後述
- C++/CLI
- C++ マネージ拡張 (Managed C++)
- C#
- F#
- IronRuby (Ruby)
- IronPython (Python)
- J#
- JScript (マネージJScript)
- JScript .NET
- VBx (Visual Basicの次のバージョン)
- Visual Basic .NET
- Windows PowerShell
- #S (Scheme)
- #Smalltalk (Smalltalk)
- A# (A# .NET) (Ada)
- AVR.NET (RPG)
- Active Oberon (Oberon)
- APLNext (APL)
- Boo
- Cobra
- Common Larceny (Scheme)
- Component Pascal
- Delphi.NET (Delphi)
- Delta Forth .NET (Forth)
- DotLisp (Lisp)
- dylan.NET
- EiffelEnvision (Eiffel)
- Fantom
- Fortran .NET
- Gardens Point Modula-2/CLR (Modula-2)
- GrGen.NET
- IoNET (Io)
- IronLisp (Lisp)
- IronScheme (Scheme)
- Ja.NET (Java)
- L# (Lisp)
- LOLCode.NET (LOLCODE)
- Mercury on .NET (Mercury)
- Nemerle
- NetCOBOL (COBOL)
- Net Express (COBOL)
- Oxygene (Object Pascal)
- OxygenScheme (Scheme)
- P# (PROLOG)
- Phalanger (PHP)
- Phrogram
- PL/IL (PL/I)
- PowerBuilder
- sml.net (Standard ML)
- Visual COBOL (COBOL)
- X#
- Zonnon
用語の所属

.NET Framework
関連する用語

共通言語ランタイム

C#