【 解 説 】
C#とは、Microsoft .NET環境向けソフトウェアを開発するためのオブジェクト指向プログラミング言語です。
現在、市販アプリケーションやビジネスソフトウェアの開発現場で 最も広く使われてきている言語は C と C++ です。 この二つの言語は非常に細かなコントロールを行える柔軟な言語ですが、 柔軟性と引き換えにソフトウェア開発が難しいという欠点があります。 C や C++ を使用してアプリケーションを開発するには Visual Basic などの言語を使用して 同等のものを作る作業に比べ、開発期間が長くなります。
今日、注目されている言語に Java があります。 Java は C++ を元に改良を加えた言語で、マルチプラットフォーム上で動作し、 GUI プログラムを作成するライブラリが標準で用意されています。 しかし、C++ と比べて、制限されたことが多く、今ひとつ物足りない仕様になっていますし、 低レベルのコードをコントロールする機能に乏しいため、 既存のシステムとの相互運用が難しく、 マルチプラットフォームで動作するといっても、 高速に動作させることのできるプラットフォームは限られています。
C や C++ プログラマは、基礎となるプラットフォームの機能にアクセスできるパワーを持ち、 高速なソフトウェアの開発が行え、 既存のソフトウェアのと統合も可能で、 さらに、必要があれば低レベルのコーディングもできる環境を望んでいます。
このようなことから、Microsoft は C#(「しーしゃーぷ」と読みます。何でも、C++ の”+”と”+”を重ねて#になったとか・・・)と呼ばれる、新しい言語を作成しました。 C# は C++ のパワーと柔軟性を持ち、 同時に Visual Basic などの生産性の高さも持ち合わせる言語です。
長らくの間、Windows といえばパソコン用 OS で、Microsoft 主導で Windows アプリケーション開発用に作られた C#(.NET Framework)もまた、パソコン用(特にビジネスアプリケーション開発用)なイメージがありました。
ところが近年(2005年頃から)では、Microsoft も組み込みシステム向け製品開発にも力を入れていて、.NET Framework を用いた組み込み開発も可能になっています。
一口に組み込みシステム向けと言っても、要求(据え置きか携帯型かとか、筐体サイズや搭載可能な CPU など)に応じて様々な製品が用意されています。
-
Windows XP Embedded:
据え置き型・大型筐体(高性能)向け組み込み OS。普通に .NET Framework が利用可能。 -
Windows CE / Windows Mobile:
携帯型・小型機器向け組み込み OS。.NET Compact Framework という、.NET Framework のサブセットが利用可能。(ただし、Managed コードの実行にはハードリアルタイム動作の保証なし。) -
.NET Micro Framework:
Windows CE も載せられないくらいのローエンド・低消費電力システム向けに、(Windows CE などの OS 機能抜きで).NET Framework のサブセットを提供。 -
XNA:
Xbox 360 用 / Windows 用ゲーム開発プラットフォーム。C# を用いたゲーム開発が容易に行えます。
■お薦め参考関連資料
Microsoft、Visual Studio、Visual Basic、Visual C#、Windows Vista、Windows Server、SQL Server、Visual C++、Visual Web Developerは、米国 Microsoft Corporationの米国及びその他の国における登録商標または商標です。