目次

キーワード

概要

C# は「.NET Framework 上で動く言語」(正確には CLI 規格上で動く言語)です。 (規格上は、C# と .NET Framework は独立していますが、実質的に。)

.NET Framework

Microsoft .NET Framework とは Microsft が提供する、(2000年6月に発表された)新しい開発プラットフォームです。

.NET Framework では、プログラムはネイティブコードではなく、IL (Intermediate Language)と呼ばれる中間コードにコンパイルされます。 この IL を実行するための環境(の仕様)を CLI (Common Language Infrastructure)といいます。 IL は、この CLI 仕様にそった実装さえされていれば任意のプラットフォームで実行することが出来ます。

Microsoft 自身による Windows 上の CLI 実装である Common Language Runtime (CLR)に加えて、 現在、Microsoft は Corel と提携し、 Mac / FreeBSD 版の CLI を開発しています。 (β版が Microsoft のサイトCorel のサイトからダウンロードできます。) また、 Ximian が Linux 版の CLI であるmonoを、 Southern Storm Software が、DotGNU を開発しています(C#コンパイラとクラスライブラリの一部は完成)。

また、IL は CLI によってファイル、メモリ、ネットワーク接続などのリソースを管理されていて、 メモリの解放し忘れなどによるリソースリークを防ぐことが出来ます。

.NET Framework に対応したすべての言語は IL にコンパイルされます。 現在、.NET Framework に対応している言語は Microsoft が提供している C#、VB.NET、F#、C++/CLI (C++を.NETに適応するように改良したもの) や、 サードパーティの提供する Perl や Python など、20種類以上のものがあります。 .NET Framework では、これらすべての言語で同じライブラリを利用できますし、 異なる言語で書かれたプログラムを呼び出すことが出来ます。 例えば、C++/CLI で書かれたクラスを継承した新しいクラスを VB.NET で作り、そのクラスを C# から呼び出すといったことも可能です。

また、.NET Framework を用いることでプログラマは COM やレジストリなどの知識がなくても分散アプリケーションの作成、配布が容易に行えます。

VB、JScript、C++ などの既存の言語は、.NET Framework に対応出来るように拡張されています。 一方、C# は初めから .NET Framework 上で使うことを想定して設計された言語です。

そのほかにも .NET Framework はさまざまな特徴を備えています。 表1に、.NET Framework の特徴を簡単にまとめます。 詳細については MSDN をご覧ください。

.NET Framework の特徴
言語の統合(共通型システム) C++、VB、C#など複数の言語を統合する。例えば、VBで作成したクラスの派生クラスをC++で作成することも可能である。
プログラミングの簡素化 COMやレジストリの知識を必要としない。
さまざまなプラットフォームでの実行 Common Language Infrastructure (CLI)をサポートする任意のプラットフォームで実行することが出来る。将来的にはWindows以外のプラットフォーム用のCLRも作成される可能性がある。
自動リソース管理 ファイル、メモリ、ネットワーク接続などのリソースの利用状況を自動的に追跡し、アプリケーションによるリソースリークを防ぐ。
充実したライブラリ/フレームワーク ウェブ サーバー、デスクトップ クライアント、データベース アクセス、ゲーム等々、 さまざまな種類のプログラムを作るためのフレームワークが整っています。

.NET Framework のバージョン

移転: 「バージョン

更新履歴

ブログ