Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you’re working in a large team, and you’re not locked into the MS stack, and you’re not doing anything that needs to be super performant… Java is, by far, your best option.

The tooling and ecosystem aren’t great compared to some of these languages, but Java itself can be pretty damn good.

I used to be a hater many years ago but I’ve since grown to love it.





What is wrong with Java's tooling and ecosystem? Asking because it used to be the default a decade or so ago, with a vibrant ecosystem, so I find your remark surprising.

I used to use clojure, but one of the reasons I stopped was I personally found tools like Maven cumbersome to work with. I admit that was 8 years ago or so, so there's a chance it got better, but once people are driven away by tooling issues it takes a lot to convince them to give an ecosystem another chance.

An example of this ossification of understanding is how people still think dotnet is Windows only because they stopped caring before Core/Modern dotnet became a thing


Maven/Gradle don’t come close to the simplicity of npm, for example

I wouldn't call "3643 packages installed, 1200 vulnerabilities" for a hello world "simple".

People have their problems with Maven but unless it's some overly complicated legacy project (where npm just explodes I guess? Like I have hD windows machines get frozen from deleting the node_modules folder), it just works and you just give a list of dependencies.


Publishing a Maven package is also excruciatingly complicated. By contrast, NPM is actually too easy. I suspect that we see fewer supply chain attacks in the Java ecosystem because attackers are like “you know what.. never mind.”

Gradle keeps on improving. I use it for Android, and even though it is complex, and then add the Android Gradle Plugin complexity on top of that, I would not trade it for the iOS build system.

One of my complaints with Gradle is that if you write a plugin (Java) it shares the classpath with other plugins. You might find some other plugin depending on some old version of a transitive dependency.


They are just different. I mean, setting up monorepo is far easier with maven over npm. Besides, maven offers basically cookie cutter project organization where every maven project looks like every other maven project. As for other tooling JVM is just better than JS ecosystem. Definitely more complex, but also more powerful

What simplicity?!?

Agree, the build systems around Java have become absurdly complicated, but as an overall offering Java and JVM remains pretty compelling for lots of work, particular on a large team, as you say, where Java can be the "least bad option" in terms of getting a diverse group of people to learn it.

And you can code Groovy on top of it, still my favorite programming lang.

I too would like some illustration of why the tooling (Intellij, etc) is insufficient. Maybe gradle as a build system? Although I have to say with LLMs, gradle build scripting is a LOT easier to "build" out.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: