Java is niche? I disagree strongly. It might be (falsely so) considered legacy by some, but it is by no means niche.
Java is now, with microservices and containers, facing a huge demand and second wind once again.
I usually don't defend any language, because it's mostly flavour and opinions, but Java is definitely a language we can call full-stack.
With Java you get full fledged and battletested CI/CD (Jenkins), package and artifact Management (Nexus, artifactory), security scanning (NexusIQ, Sonar), observability (built into JVM), deployment Management (AppServers of different flavours) and much much more.
Everything managed by commonly accepted and well-defined Standards.
Libraries, of which Java has more than enough for every possible use-case, aren't everything I'm afraid.
But the tooling changes so rapidly and often, getting something as proven and tested as the Java World Counterparts will take a lot more time.
I would also like to add Quarkus. I am not very experienced but It looks really awesome to me. with graalVM and quarkus, we can now make native java executable and size of these executable are very small compared to JAR. It's performance will also be better since it is machine code instead of byte code. The startup time is also very fast, which is important for microservices in some cases.
Best of all, we can use same API's like JPA, CDI etc. so an experienced java developer can get easily started with quarkus.
Do check it out - quarkus.io/
In one of my clients projects we are using Quarkus and migrate quite a few webservices to it currently.
The performance and minimal overhead of the resulting native binaries is amazing.
It takes quite a bit of modification to the typical CI-Chain, but if you get it to run smoothly, the results are astonishing.
If you want, I could write up a little article about it here
yeah, I would love it.
It will be very helpful as there is relatively less material available on quarkus.
Consider it in the works :)
It is done :)
Can you do stuff with SIM cards in JavaScirpt? Highly doubt it. And such examples might trigger "niche" comment which basically is saying let's ignore elephant in the room and focus on mouse - which is web app development and that includes microservices and such.
Go check how big is Spring alone. It's not a framework it's quite a few frameworks which can make a platform. Check Apache Java stuff, like Apache Camel which is similar to Spring Integrations - still Java and still one of the go-to solutions for integrations none of which I've seen in JS and integrations are even out of "businesses niche" now. Almost all of us do it even for mid sized projects. Try to look at Red Hat stuff made for Java alone. Go browse through maven repository. Not even C# ecosystem (or .NET to be more correct) can compare to it in terms of size/quantity. And this is why people are not willing to leave JVM. It has so much things done you rather cry how hard they are to work with than to write it yourself in another platform.
It's plain simple, number of libraries, frameworks and such, regardless of their use case, are bigger for JVM mainly written in Java because it was the language before Scala, Groovy, Clojure, and such, and Kotlin lately.
Basically that "niche" your talking about is waaaaay bigger than your "non niche" which makes no sense for me to call it that word then.
You might call it new COBOL which indicates it will be forgotten by many at some point but live like a plague and poison anyone who touches legacy system that must work, but it doesn't change the fact that we still need something to catch up with it's size to be able to say "Java is dead" and make sense.
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.