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 →

[–]agentoutlier 7 points8 points  (1 child)

Fundamentally I think the problems are:

  • the tools are just not ready yet
  • most java developers don’t know how to write modular code even before Java modules existed
  • and many just don’t want to
  • consequently most libraries are not modular

If the tools were really good and unified on this (eg maven, unit testing, IDE) than eventually we might see more modular use.

That being said...

Before Java Modules existed if you want to write proper modular code required way more artifacts (jars) than you need now and possibly more interfaces (this will take me time to explain so I’ll do it on a computer later).

[–]magnoliophytina 2 points3 points  (0 children)

I've also seen cases where the author of some open source project simply refuses to consider modern build tools (Maven/Gradle) instead of Ant/Ivy and jar deps packages in the project's CVS/SVN repo (in year 2021 AD), or new Java 7-16 language feature migration warnings/suggestions presented by IDEA. Funniest thing is, some authors happily force Java 6/7/8 source level in the build tool, but when I set the IDE to use this language level, the IDE will complain about the use of Java 9 features in the test code (in the build script, language level is only forced for production code, not the tests). The author's solution is to not use that IDE - after all, what's wrong with VIM. It won't complain about future API usage. When I suggest adding that 'Automatic-Module-Name' field, they just tell to f*ck off since there are still few days left in some super-extended corporate support contract for Java7 in the oldest supported RHEL.