Fundamentally it's about longevity. Sure, you could start with Java today and it would probably satisfy your needs. But what about a year from now? Two? Five? By those points there will be new capabilities you might want that Java probably doesn't have and it's alternatives will. If you are already on a leaking ship you are going to try to keep it afloat, at least until you reach your destination. But if you are standing on the docks why would you choose to get in the boat that's already leaking?
And what makes you believe that the Java boat is leaking?
Because the trajectory of Java is downward when compared to the alternatives because it is getting new features slower.
Lets say I create the same app twice, one using Java and the other using .NET. In 5 years time I believe the best thing you could say is that the Java one is no worse off because the new stuff that .NET has that Java doesn't have doesn't apply to the app. And I'm struggling to come up with a scenario where the Java one would be better off.
The risk that your choice might not be good enough for the long run? That's getting into a leaky boat.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.