On 11/01/2014 at 10:20 PM, lee wrote:

> Steve McIntyre <st...@einval.com> writes:
> 
>> Miles Fidelman wrote:

>>> Right.  This sounds more and more like "we're going to rewrite
>>> the rules, and if you don't like it, we're taking our ball and
>>> going home."
>> 
>> Various people have tried to explain how a binary distribution
>> like Debian works (build packages with all options included by
>> defauls) and how shared libraries work on Linux (all the libraries
>> need to be there to satisfy symbol resolution at run time, even if
>> none of the code is ever used). When those explanations fell on
>> deaf ears, people have resorted to analogy. That was clearly a
>> waste of time too.
> 
> Appreciating and understanding an explanation doesn't mean that
> someone who appreciates the explanation and understands it comes to
> the same conclusions or opinions about what has been explained.
> 
> Your car manufacturer and the sales people can give you all kinds of
> explanations about why you'd be forced to never take off the trailer
> and keep telling you that the rules demand it to remain hooked up all
> the time.  That doesn't mean that you like the idea or that you would
> buy the car.

One difference is that these are not invented or imposed "rules"; they
are an essential and pretty-much inherently unavoidable part of the way
dynamic-shared-library software *works*. Having an opinion that they're
bad is no more meaningful or practical than having an opinion that
gravity is bad. (Or, say, Heisenberg's Uncertainty Principle. Which I
bring up as a counterexample to my own point, since I personally do
reject that principle as part of my larger philosophy.)

If you want to avoid these rules entirely, I believe you'd have to
either design a system from the ground up (quite possibly the level of
defining what the format of a binary executable is, if not below) with
the specific goal of not requiring them, or use exclusively static
linking, which has considerable disadvantages compared to dynamic
linking.

Or you could write in an interpreted language instead of one that gets
compiled to native executable code, but then you still have to have a
native-code interpreter for that language, so that doesn't avoid the
problem entirely.

Both of those approaches miss out on a lot of existing software, and so
far, no one seems to have thought of either one of them as worth the
trouble. If you want to give either one of them a try, I think it could
make for an interesting project, but the odds of your coming up with a
viable system in the end are nearly as long as the odds of my
Heisenberg-rejecting philosophy ever producing any real-world
consequences.

-- 
   The Wanderer

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man.         -- George Bernard Shaw

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to