CURL review request
Marco Leise
Marco.Leise at gmx.de
Thu Aug 18 18:58:19 PDT 2011
Am 18.08.2011, 14:16 Uhr, schrieb bearophile <bearophileHUGS at lycos.com>:
> Jonathan M Davis:
>
>> It increases the size of the zip file unnecessarily for the majority of
>> users, and anyone using anything other than Windows definitely won't
>> need it.<
>
> This is a silly argument. Have you seen the size of the binary
> distributions of Python, Java, DotNet? The Haskell installer is 93.6 MB.
> Java jdk-7-ea-bin is about 100 MB. The DMD zip is very far from there.
> If this is not acceptable for you still, I see solutions like
> distribuiting zip with library binaries too and a bare-bones zip for
> you. Is this good enough for you?
Don't be sarcastic. A smaller zip file reduces costs (and improves the
download times) and I'm only interested in the sources anyway. The way you
put it I don't know if you are actually trying to make a joke? Since
Windows does not have a dependency management through some package manager
you end up with lots of duplicate DLLs and have to include them in your
downloads, too. On other platforms this is for good reasons handled
differently and you benefit from bug fixes in libraries, too when you
declare a dependency on Python 2, >= 2.6 for example.
The examples you name are no good counter-argument to unnecessary file
bloat due to bundled libraries. I cannot install the (official) .NET
platform on my Linux, but neither Java nor Haskell have that file size
from third party libraries they bundle. Like .NET they like to call
themselves 'platform' and include their own APIs that work on every
supported OS. Over time the runtime for those simply grew over time with
the oldest listed download in Oracle's archive for Java 1.1.6 being 5 MB
in size. If you take a look at the Python 3 source download, it is just
around 10 MB, because Python instead uses wrappers for existing libraries,
with most of the rarely used stuff not bundled.
So Java and Haskell are still huge downloads. Yes, but while these
download I don't think that I am downloading mostly duplicates of
libraries that are already installed as dependencies or system base
packages. These 'platforms' come with HTTP functionality, that is
different and unique from curl and most probably works directly on the
system's sockets implementation. The benefit is probably that their API is
more consistent and different modules can work together. For example there
may be HttpInputStreams that are interchangeable with other InputStreams
or wrappable in encryption filters etc. So for the effort that was put
into the 100 MB download and the consistent API I'm ok with the download
size.
To come to an end I propose that the
- 'all platforms' download becomes a source only package
- the Windows download includes binaries for libraries used in Phobos or a
statically linked mega-Phobos that outgrows Mars somewhat
- Marco
More information about the Digitalmars-d
mailing list