I develop almost exlusively in Java and as a language it still works extremely well for our use case, and is only improving.<p>We write financial trading systems which require lowish latency (but not truly low latency) with rock solid stability, monitoring, tooling, etc.<p>We actually write idiotmatic Java in the sense we don't actually use object pooling etc. We have five 9s latency at below 500 micros. Which people in the industy will know is very much not low latency HFT style, but is enough for our competitive edge. And as I said, we can achieve this while still relying on idiomatic Java, which means we spend most of our time writing feature code rather than fighting the language. And by idiomatic Java I mean the right style for the right part of the code. We mostly write data oriented code, which low touch records/pojos and business logic outside of objects, but there are cases where we're more traditional OO style.<p>I have ex-colleagues who have moved elsewhere who use non-idiomatic java to achieve < 5 micros fastpath. That was several years ago, they may have improved that into the nanos now.<p>The online programming sub-culture loves to hate Java, because humans love being part of a fashionable in-group, and it is extremely fashionable to hate Java. Luckily, very smart people don't care about that nonsense and I get to work with a lot of those people.<p>Summary: I don't know if the stats show Java is in decline, but I doubt it. I still get many high salary job pitches from headhunters monthly.