TL;DR: Java’s multi-billion-dollar ecosystem is quietly dependent on a shrinking, fragile IDE infrastructure, and without deliberate investment beyond IntelliJ and Eclipse, its long-term developer productivity is at serious risk.
Sadly, Java (and C#) runs serious company software, not smartphone/tablet toys as dumb remote clients.
Also, Android dominates the world. Call it weird Java, because it's actually that.
I'd love everyone shifted to Go, but that won't happen soon.
Java it's a bit like Cobol, surviving because of legacy needs; but contrary to Cobol everyone can get a JDK and start programming in no time in any OS and with tons of documentation and support.
And I don't actually like Java, but things in real life work like that. If some serious company needs a middleware or management software, your bets will be either on Java or the weird cousing, C# where a programmer can get in no time from the former.
Go shines on (micro)services and everything concurrent.
Why absolutely no mention of VS Code?
VS Code uses LSPs which are mentioned.
Another one that doesn't understand VSCode plugins make use of Netbeans and Eclipse running headless.
Sponsored by Red-Hat/IBM, Microsoft and Oracle.
And the tooling for an operating system with 70% of the market, sponsored from JetBrains and Google.
TL;DR: Java’s multi-billion-dollar ecosystem is quietly dependent on a shrinking, fragile IDE infrastructure, and without deliberate investment beyond IntelliJ and Eclipse, its long-term developer productivity is at serious risk.
So the outlook is good for emacs, vim, and maybe VSCode?
Sadly, Java (and C#) runs serious company software, not smartphone/tablet toys as dumb remote clients.
Also, Android dominates the world. Call it weird Java, because it's actually that.
I'd love everyone shifted to Go, but that won't happen soon.
Java it's a bit like Cobol, surviving because of legacy needs; but contrary to Cobol everyone can get a JDK and start programming in no time in any OS and with tons of documentation and support.
And I don't actually like Java, but things in real life work like that. If some serious company needs a middleware or management software, your bets will be either on Java or the weird cousing, C# where a programmer can get in no time from the former.
Go shines on (micro)services and everything concurrent.
I wouldn't want to trade Java for Go.
On the backend at least, you can now use kotlin, which has perfect java interop.
For spring, an automatic docker container and native compiled docker container mvn command exists.
No excuse to hate the jvm and its amazing ecosystem anymore.