2003-07-08 (Tue)

_ Re: 私がJavaからC#に乗り換えた10の理由 at @IT

through とらねこさん

反論ではなく個々の主張には賛成なので、反論を期待して読まないでください。むしろ、IDEAも引用しているし、好感が持てます。

C#が言語的にJavaよりもよい面があるのは事実で問題ないのですが、細かな点をあえていえば、多少議論のすりかえが気になります。Javaから乗り換えた理由はそれでよいにしても、C#に乗り換えた理由がJavaの欠点とは異なる次元である点です。たとえば、Visual Studio .NETはMSの製品なので、MSのものがたくさんついてきますが、Javaの欠点とは別の問題です。言いたい気持はよく分かります。それから、言語云々を言うなら、C#以外にもいろいろあるわけで、なぜそれらを選ばずにC#なのかという問題を、Javaからの文脈で語られると、ちょっとJavaに不利ですね。言いたい気持は分かります。

.NETのよい点に追加するとすると、アセンブリという概念の存在は心強いですね。

さて、意外に賛同できたのが10番目。私の言葉で言えば、C#(.NET)はRADツールなんです。だから、よい悪いの次元ではなく、Javaとは向かう方向が違います(だからこそ.NETの方が流行ることもありうる)。Visual Studio .NETを触ると、RADツールであるDelphiの香りがプンプンします。極端な話、Delphiの影響のないところはないというくらいです。オンラインヘルプからしてDelphiの書式です。Delphiを使っていたのでよく分かります。(もともとDelphiはVBをもとにしたし、DelphiのアーキテクトをMSがヘッドハンティングしたので、当然といえば当然なのですが。)

RADツールなのでアプリの大量生産に向きます。しかし、それが技術者にとって幸せな方向なのかは別議論でしょう。RADとしてのDelphiの優れた部分を受け継いでいるもの、そういった、Delphiが解決できなかった部分も残念ながら未解決のまま受け継いでいる気がします。これは技術論を含みつつそれを超えたカルチャーの問題でもあるので、話が大きくなりますが。

と、ここまで書いて、記事に4ページ目があったのに気づき、公開する気が薄れたのですが、せっかくなので(修正せずに)書き続けます。

言語としてのJava云々とは関係なく、今がJavaの一番「おいしい」時期だと思うんですよね。ツールやノウハウ・ドキュメントがそろっていますから。投資対効果でいえば、今が収穫時期で、その今を逃す手はないと思います。もちろん、先を見越すのは大事なことなのですが、投資をしたら収穫もしないともったいないです。(この段落が言いたかっただけです。EJBについても同様のことが言えます)

あとは、個人プログラマの観点で言えば、お小遣いで買うのはちょっとつらいです。サーバーも含めていろいろ試すとなるとMSDNが欲しくなるし、これにしてもサーバーの運用ライセンスは別ですからね。もちろん、.NETの性質とは別議論ですが。

[]