リンク
http://crapp.hatenablog.com/
なぜJavaはC#と比べて駄目なのか - 29歳からのPG/SE人生
Javaは決して悪い言語ではない。C++からポインターの「*」やアロー演算子の「->」とかスコープ演算子の「::」とか気持ち悪いものを廃止・整理して、比較的読み易いシンタックスになったと思う。1995年当時から見れば、十分に出来の良い言語だったと思われる。でも後発のC#でコーディングする機会が増えてきたら、如何にJavaが駄目(というか保守的な)言語かってのもまた同時に痛感してしまう。2005年リリースの2.0の時点で既にJavaをほぼ完全に上回っていると思うのに、その後ラムダ式・LINQ・拡張メソッドな
ちとく
@java_shit
1. Java の型推論はどうしようもない ジェネリクスの左辺から右辺を推測する程度の型推論しか持っていない List<String> hoge = new List<>(); // おい、これのどこが型推論なんだ
2014-02-12 22:11:47
ちとく
@java_shit
2. プロパティがない クラスが大量の getXXX / setXXX で埋まっちゃうクソ言語。C# の getter / setter が便利すぎるだけか。
2014-02-12 22:13:40
ちとく
@java_shit
3. オブジェクト指向ではない プリミティブ型の概念があり、オブジェクト型を継承していない。(ボックス化が自動で行われるようになった)
2014-03-04 21:09:12
ちとく
@java_shit
4. インターフェイスなのにミックスインに該当する機能がない C# には拡張メソッドがあるが、Java はデフォルトの実装を持たないインターフェイスしかないので一部同じ実装を持つクラスを作成することができない
2014-03-04 21:13:38
ちとく
@java_shit
6. 演算子オーバーロードがない 自前で演算子をオーバーロードする仕様がないのは個人的にはダメな子。乱用を防ぐ意図も汲み取れなくはないが、冗長な記述を生みやすい。
2014-03-04 21:16:10