.NET Framework
.NET Framework(どっとねっと・ふれーむわーく)とは、マイクロソフトが開発した任意のプログラミング言語に対応可能なアプリケーション開発、実行環境である。
一般に.NETという場合、.NET Framework全体の環境を指す。
目次
標準規格と独自拡張
国際標準規格
.NET Frameworkにおいてもっとも重要な実行コード形式や、実行環境を定めた共通言語基盤(CLI)、基本クラスライブラリ(BCL)などの基盤部分について、マイクロソフトが特許を主張しないことを明言したことをうけ、Ecmaインターナショナル、ISO、JISなどにおいて国際標準規格となった。
これによりマイクロソフト以外のベンダーが独自に.NET Framework実装することが出来るようになり、実際にXamarinによるMonoプロジェクトをはじめ、いくつかのオープンソースによる実装プロジェクトがある。それらを使うことで.NET FrameworkでコンパイルしたプログラムをLinuxやMac OS XなどのWindows以外のOSでも動かすこともできる。
.NET Frameworkの標準規格となっている部分は、C言語などの標準規格化している他の言語や実行環境と比べ、圧倒的なほど広範囲にわたっている。 とくに標準ライブラリ(基本クラスライブラリ)は類を見ないほどの規模となっている。
独自拡張
マイクロソフトによる.NET実装にしろ、XamarinによるMono実装にしろ、ソニーによるPlayStation Suite実装にしろ、ほぼ標準規格外の独自拡張が行われている。
近代OSではほぼ共通な部分を標準化することで、もっとも重要なビジネスロジック部分は共有でき、かつUIなどのハードウェア固有に近い部分は独自実装を許すことにより、そのOS、ハードウェアの性能を100%近く引き出すことが可能となっている。これによりiPhoneやiPadなどのApple製品がAdobe Flashを採用しない最大の理由として掲げたクロスプラットフォームを追及しすぎ「最大公約数」となる問題を回避することができ、かつある程度のクロスプラットフォーム化を実現できる[1]。ようするに重要なのはバランス感覚という思想が.NET Frameworkの根底にある。
主なプログラミング言語
.NET Framework上で利用可能な主なプログラミング言語の実装について列挙する。なお、これは有名どころを集めただけの一部であり、その他にも莫大な数の実装が存在している。
- C#
- F# - OCaml
- Phalanger - PHP
- IronRuby - Ruby
- IronPython - Python
- IKVM.NET - Java
- IronJS - JavaScript、F#で書かれてる。
- Irony - ActionScript3