質問: javaの難しいところって何ですか?
回答: 難しいかは議論の余地がありそうだと思います。 ただ面倒なのは確かです。 端的にオブジェクト指向言語なのにプリミティブ型というオブジェクトではない存在があります。 またバージョンアップに伴う大量の非推奨機能があります。これらはこれからのバージョンでサポートされなくなる可能性があります。 「プロパティ」概念がないのでやたらとgetter、setterが使われる傾向がありますが使いにくいし、下手をすると公開されるべきでないオブジェクト内部の変数に外からアクセス出来るようになってしまいがちというのも。 packageも使いやすいか? 賛否はあると思いますが演算子のオーバーロードができないのでbigdecimalのようなオブジェクトの演算がメソッドでしか行えず、まるで昔のcobolに逆戻りしたかのような。そのくせ文字列だけは「+」で結合出来るとか中途半端な折衷主義。 検査例外も評価が分かれるところです。 文法としてgotoがないのはほとんど問題になりません。ラベル指定の break, continue があるので。 「オブジェクト指向」そのものが難しいというならjavaだけでなくC#やVB.NET、Rubyなど全てが批判の対象になるでしょう。javaが難しいとするにはあまり適切ではないと思います。