[Mono-list] laus stultitia

Fergus Henderson fjh@cs.mu.oz.au
Mon, 21 Oct 2002 23:04:14 +1000

On 19-Oct-2002, Erik Poupaert <erik.poupaert@chello.be> wrote:
> Piers Haken writes:
> >>>> Is bytecode necessary? No, probably not.
> >>>> Is binary distribution of executables necessary? No, not technically.
> >>>> You can build everything from source, in theory.
> >>>> Are they equivalent? Yes, virtually. (bytecode being a binary
> >>>> distribution medium for executables targeted at a 'virtual' machine)
> If binary distribution and source distribution are theoretically equivalent,

Binary distribution and source distribution are not equivalent.

Source distribution means that the user's machine needs to have a fully
compatible version of the compiler.  This is not feasible for applications
programmed in languages whose specification is undergoing development,
unless application programmers are rigorous about not using new
features, or unless you distribute the compiler along with the application,
which in most cases increases the download size prohibitively.
(Languages whose specification is *not* undergoing development are
usually referred to as "dead languages".)

Binary distribution, on the other hand, only requires that the
target architecture & ABI remain stable.  This is a much less onerous
restriction.  Programmers can take advantage of the latest and greatest
features offered by their compilers, so long as the compiler can somehow
map those features down to the stable ABI.

In short: if your aim is to distribute programs in a form that is easily
executable, then source distribution sucks.

I'll very much in favour of open-source software, but it should continue
to be distributed in binary form as well as in source form.

Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.