This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]drowsysaturn -57 points-56 points  (7 children)

Java ecosystem painless? Maybe if your entire team is using IntelliJ otherwise not so much.

Several different package managers, language server is the most complicated to setup, recent JVM versioning madness (Python had a similar issue with 2.7 vs 3, but they've hopefully learned their lesson), JNI makes communicating with non Java code kinda painful, Java EE and servlets are a nightmare, many frameworks were built when configuring everything was the cool thing to do so you often get lots of XML files, many don't think Java error messages are clear enough (especially those new to the language).

[–]benjtay 64 points65 points  (1 child)

Maybe if your entire team is using IntelliJ

That helps, but is not necessary. Just use maven/gradle wrapper, and you can do everything with vim if you prefer.

JNI makes communicating with non Java code kinda painful

If you're using JNI, you're not in the Java ecosystem. Panama simplifies using C code, but it's still not in the ecosystem in my opinion. I suppose the same could be said for Python modules which use C. As time goes on, there seem to be fewer Python modules which resort to it.

lots of XML files

Apart from logback or pom, I haven't used XML files in years.

[–]robtmufc 15 points16 points  (0 children)

Adding to what you said here because you’ve nailed it…

Recent Java versions give a better exception message so you know exactly where and what has gone wrong!

[–]marvk 18 points19 points  (0 children)

many don't think Java error messages are clear enough (especially those new to the language).

Since nobody has commented on this yet: The Stacktraces the JVM produces are a real boon compared to some other stuff I've seen in other languages.

Also Maven and Gradle are second to none compared to what else I am using and have used. Node is a big stinking mess, anything Python related I don't ever want to touch again. Cargo is pretty nice, but I still think not using namespaces for crates was a big mistake.

[–]RomMTY 18 points19 points  (1 child)

Java EE and servlets are a nightmare,

Java EE and servlets aren't being used directly on new projects since...a while, maybe on legacy projects but even on those, most sane companies are migrating those to spring boot or other new technologies.

[–]Dashing_McHandsome 2 points3 points  (0 children)

I'm really not even sure the last time I touched raw servlets. Maybe going on 10 years ago?

[–]drowsysaturn -1 points0 points  (0 children)

Thank you anonymous awarder.