OT Java stuff [was Using D]
Chris via Digitalmars-d
digitalmars-d at puremagic.com
Wed Aug 27 01:53:15 PDT 2014
On Tuesday, 26 August 2014 at 22:07:49 UTC, Jeremy Powers via
Digitalmars-d wrote:
>>
>>
>>> 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.
Statically linked binaries are still the best option, if you want
to make sure things will work for the user (and you don't have
time for customer service). It's also a good strategy for
cross-platform development, this or you have to use an approach
similar to Textadept that ships everything in one package. I
usually ship all the additional dlls / libs, if there are any.
Relying on system wide dynamic linking is more for cases when you
develop for one particular environment or when you're 90% sure
that a certain library exists on most systems you develop for.
The C standard library comes to mind, but even there are
differences between Linux and Windows. And don't forget that,
unlike Linux users, people who use Windows are usually not tech
savvy in the sense that they can deal with downloading additional
libraries.
It all depends on the products you're developing. But for our
stuff it's better to go static or ship everything.
> 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.
Yes, only better. :-)
More information about the Digitalmars-d
mailing list