C#にそこはかとなく感じる「Microsoft感」

2005/07/13

プログラミング

0b701e11.jpgC#を勉強しようと思い立ち(というか友達と話しててそういうことになった)、C++やJavaとの仕様差異とかを確認していたのだが、ファーストインプレッションとしては「便利だなぁ」というもので、もうひとつが「いかにもMicrosoftらしいお手軽感だなぁ」だった。


方向性がよく分からなくなりつつあるC++や、C++の仕様を簡素化したがゆえに自由度が狭まり敬遠されがちなJavaの間隙を突く形でMicrosoftが送り出したのがC#言語だ。これがまた登場当時は失笑を買いまくった。言語的な仕様は既存の言語を適当に切り張りしてきただけ感が漂ってるし、プログラム実行時に.NET Framework(=JavaでいうVM)とかいう中間プラットフォームの導入が必要という点も敬遠される原因の1つになった。
しかしまぁWindowsXP様とADSL様のおかげで、ユーザーのコンピュータには自動的に.NET Frameworkがインストールされている状態となっているわけで、今となってはまぁC#もいいんじゃないかなと思う。
しかしまぁ、なんともいい加減というかMicrosoft的おおらかさというか、文法などの整合性はある程度弱めだなと思う。例えば、プロパティのget,setは小文字なのに、ToStringメソッドは先頭が大文字だったりする。こういうのは細かい問題ではあるが、コンパイルエラーが出るまで気づかないことが多い。
「そんなの10行書いたら1回コンパイルすりゃいいじゃん」っつーのは、IDE使ってるからそういうこと言えるわけで、エディタで関数一個書いてからコンソールでコンパイルなんてのはC言語では当たり前の話だろう。つまり、そういう作業の進め方を考慮していないため、暗にそういうことはするなと言われているような言語仕様なのである(と言ったら言い過ぎだろうけど)。
今のところ、「お手軽にWindowsアプリ作れる言語」という立場しか確立できていないC#ではあるが、逆にそれ以上のことは望んでいないのかもしれない。「C言語だと面倒だから新しい言語作ろうぜ」という、単純な発想から生まれた言語なのかな~、やっぱ。
まぁでもJavaと同様に面白そうではあるから首はつっこんでみようと思う。

ブログ内検索

ブログ アーカイブ

Ads

QooQ