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
signature.asc
Description: OpenPGP digital signature