What are the odds that a language known for its use in boring enterprise software is the language used to create the most popular video game in history (Minecraft). If C++ was a person it would be mad/salty at this fact.
And yet people here on HN have told me in recent threads, when discussing Java, that: - Java is not suitable for enterprise software (yes! Some people here actually believe that). - Java is not a good general purpose language (but Minecraft was written in Java. Or even better, the list of very varied apps from this article shows it's indeed a good general purpose language). What these people actually mean is "I don't…
If anything my argument for Java would be that it tries to be good at -everything-, and because that attempt started from day one (versus, say, C# starting primarily on desktop, then Web, and worrying about smaller targets and big servers later).
And I think it's pretty good at all of that from a 'capability' standpoint.
But because it tries to be all things for all people, it's pretty easy to wind up down rabbit holes of large frameworks. And that leads to the warts Java has from a usability standpoint.