共通言語基盤

読み:きょうつうげんごきばん
外語: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の実装には、次のようなものがある。

  • 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/Ⅰ)
  • PowerBuilder
  • sml.net (Standard ML)
  • Visual COBOL (COBOL)
  • X#
  • Zonnon

主な言語一覧

用語の所属
.NET Framework
関連する用語
共通言語ランタイム
C#

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club