Using Java 9 Modularization to Ship Zero-Dependency Apps
This is definitely an improvement for Java, but it leaves me with a few thoughts as someone who has done Java professionally at times, but also professionally lived in other ecosystems including C++/Qt, Python, Ruby, Golang, and of course node/JS.1.  Setting up a project is still a pain in the butt.  Tools like Gradle are a nice improvement over Ant (and some would say maven), but still most people don't even understand them.  You have some serious reading ahead of you if you want to set something up that isn't already templated somewhere for you.  You can lean on an IDE for sure, and for most Java devs this is probably a no-brainer.  I'm weird in that I don't like magic.  I prefer to know what the tool is doing on my behalf, and the Java IDE world is so complex that it isn't practical to learn that unless you're in the ecosystem for years.  Then dealing with weird exceptions from the JVM can be maddening.2.  The Java world moves slowly.  It could reasonably be years before many shops transition to Java 9, when you would actually realize the benefits of this in your work life.3.  So much Java runs on the server side anyway, where executable size and entrypoint doesn't really matter that much.  Because of this, it may only be a small subset of Java shops that really get into Java 9/Jigsaw and iron out the bugs, and create tools/tutorials for others.