結局C#とはどういうものか

Visual C# で簡単なプログラムを作り、.cs ファイルの記述がどうなっているのかを探索して、C#のプログラムの雰囲気を調べてきた。

それでは C#/.NET とはどういうプログラム言語なのかということになるが、使ってみた感じや、マイクロソフトのチュートリアルなどを見ると、プログラムの部品化できるものは徹底的に部品化しようとしている方針のように見える。GUIなどは、極力GUIで基本的に動くものを作り、コーディングの手間を省くことができる。

たとえば、基本的な機能が既にプログラムされたコンポーネントを使うと、簡単なテキストエディタのようなものはほとんどGUIで設計できる。また、GUI に限らず、データベースとのアクセスや、ウェブアプリの開発も、使い回しのきくプログラムの部品は極力使い回して使用するという考え方だ。

基本的な機能はかなりのものまで、コンポーネントが既に持っている。たとえば、テキストボックスはそのままで、Ctr-C, Ctr-V などのショートカットキーによるコピーアンドペーストに対応している。そうして、個々のプログラムの細かいチューニングについてはオブジェクトのプロパティの変更で対応している。それを、可能にしているのが、.NET の完全にオブジェクト指向化したクラスライブラリだ。

C#は、.NET のクラスライブラリを最も簡潔に取り扱えるように設計されているとともに、オブジェクト指向プログラムで発生しやすいオーバーヘッドなどの問題を解決しようとしている。

コンポーネントを使ったプログラムは誰が作っても同じようなプログラムになりやすいが、プログラムそのものの表現力より、多少画一的ではあっても目的の情報処理を効率的に作ることを優先している。良くも悪くも実務的な印象を受ける。プログラミングをアートととらえたい人には物足りないかもしれない。

こういうC#の特色については、実際の事例を使って、何ができるのか、何を目的としてどういう使い方をするものなのかなどという議論をすべきだが、それは、管理人には荷が重い。

Visual C#は日曜大工的で作る本棚のようなプログラムも書けるが、高層ビルディングも建てることができる。このような高層ビルディング的なプログラムを作るためには、別の知識がいるが、日曜大工をやっている限りは必要ないし、現場にいないと学習も難しい。

そいう訳で、管理人のC#関連の記事の最後として、C#とは何かがわかるサイトを紹介する。いずれにせよ、Visual C# のような開発環境が簡単に手に入るようになったおかげで、コンピュータ大好き人間にとって Windows OS の魅力が倍増したことは間違いない。

Visual C# デベロッパーセンター: マイクロソフトの公式サイト

.NET Framework ラーニング: 同じくマイクロソフトのサイト

私がJavaからC#に乗り換えた10の理由: 開発者から見たC#の特色

C# によるプログラミング入門: C#の言語仕様の実例入りの解説
[PR]
by tnomura9 | 2010-01-31 08:43 | C# | Comments(0)
<< C#からC/C++のライブラリ... プログラムファイルの構成 >>