当たり前だが目的による。
ビジネスで環境をMSに統一してるなら、C#に決まってる。

個人の趣味でやるならどっちでも大差ない。

Linuxみたいなオープンソース好きならJAVA。

金をかけずに、そこそこの環境が手に入る楽しさが味わいたければJAVA。

金をかけて快適環境を手に入れたければ、C#だと思う。

過去の資産を・・・とかいう人じゃなければ
どっちでもいい。
自分でライブラリーを作らない人もしかり。

シェアウェア作りたければ、JavaもC#もあまり向いていないとおもう。