私がJavaからC#に乗り換えた10の理由
Javaを拡張してより素人に使いやすい言語にするなんて誰にでもできる。実際、ここにあげられた拡張でJavaプログラマが思いつかなかったものは無いと思う。
しかし、そういう「よりよいJava」を一貫した設計思想のもとでまとめあげることは難しい。特にそのBetterが「素人にとって」という所に重点を置いたものになるなら、なおさらだ。おそらく、C#に実装されなかった機能の一覧が公開されれば、その困難さがわかってくるだろう。それらの機能を実装しなかったことがC#の秘密であり強みである。そのあたりがぼんやりと見えてくるので、この文章はよく書けていると思う。
そして、そういう仕事は委員会にはできない。個人にちゃんとそういう仕事をさせる環境を与えた経営者は偉い。Anders Hejlsbergとビル・ゲイツが偉いことと、C#がJavaより一歩先を行っていることは確かだが、その一歩をどれくらい重視すべきかは別の問題である。言語のよしあし(特にあるプロジェクトに採用するか否か)は言語設計のよしあしだけでは語れない。
ちなみに、これを書く時にC#言語が特定の機能をなぜ持っていないのかを説明するページを見つけたが、これがVBプログラマ向けになっていてJavaプログラマは眼中にないことが面白い。