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