> > >> If your users are having to install things then the problem is your >> deployment mechanism not the JVM dependency hell system. Java >> deployments are actually really quite easy. Either you package a total >> system with all dependencies and provide entry scripts, or you use Maven >> Central (or increasingly BinTray) for accessing dependencies. >> > > If I need deployment mechanisms like the ones above, then there's > something wrong with the language. All these crutches and patches. To set > up and test a deployment mechanism takes as long as writing the program. No > thank you.
This is what you get with shared libraries. If you don't want to deal with dependencies, either A) ship a static-linked binary or B) cross your fingers and pray. I've found the java ecosystem to be quite well fleshed out and mature in handling lib/jar dependencies, such that it was an unpleasant shock dealing with C++ after years away. Using maven, for instance, is a quick and easy way to abstract the problems away (though it is better suited for builds than deployments). As D gets more support for dynamic libraries, it would be good to take lessons from how Java and others have dealt with dependency management.
