Am 18.08.2011, 14:16 Uhr, schrieb bearophile <bearophileh...@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

Reply via email to