Hacker News new | ask | show | jobs
by aminuit 6077 days ago
"It is probably more illuminating to go a little bit further back, to the Middle Ages. One of its characteristics was that "reasoning by analogy" was rampant; another characteristic was almost total intellectual stagnation, and we now see why the two go together. A reason for mentioning this is to point out that, by developing a keen ear for unwarranted analogies, one can detect a lot of medieval thinking today."

Edsger W. Dijkstra

3 comments

How is this reasoning by analogy? He makes the rhetorical comparison to communism, but his point doesn't depend on that comparison in any way at all.
The rest of this article discusses why dynamic linking does not deliver on any of its promises and why, just as communism, it might be an idea that only works in an ideal world.

He depends on that comparison because the rest of his argument is lacking.

His first example, the one about the broken C++ ABI, isn't really an argument against dynamic linking. C++ binary compatibility has always been a nightmare because different groups refuse to agree on a standard. It's a ding against C++, but not dynamic linking per se. For any solution to the problem he's trying to solve, there are going to be pathological cases that perform poorly. Poor C++ ABI standardization seems to be one of those cases for dynamic linking.

He also doesn't really consider the world before DSOs. Consider maintaining a machine (or lots of machines) where every package was statically linked against different versions of the same core libraries. What happens when a vulnerability is discovered in one of those libraries? How do you know which packages are vulnerable? Do really want to upgrade every single package on every machine if there is a libc vulnerability?

If you took out the references to communism, his argument would still be there, it has no actual dependence on the analogy he's using rhetorically. Your critique in this follow-up comment is a lot more useful than dismissing his claim as a simple logical fallacy when it isn't.

What happens when a vulnerability is discovered in one of those libraries?

Actually, he directly addressed that issue, by pointing out that updating a shared library when you find an issue with it may break some of the applications that link to it. You might (and I do) disagree with him that this means dynamic linking is bad (imo, downstream projects that choose to take on an upstream dependency have the obligation to know how that dep is intended to be used), but it's not really helpful to the discussion to pretend like he didn't consider it.

And if you agree with Mises' reasoning Communism doesn't even work in the ideal world http://en.wikipedia.org/wiki/Economic_calculation_debate

(interesting link in there to Project Cybersyn too by the way! http://en.wikipedia.org/wiki/Project_Cybersyn)

Really?

Guess he must've read different editions of all those medieval philosophers than I did.

Which medieval philosophers are you referring to?
Quite a lot of them, really. Thomas Aquinas, for example, provided and still provides an excellent model for anyone who wants to be a debater, because his method is devastating. At first he lays out the opposing side's arguments, even augmenting and strengthening them when he can, before proceeding to poke logical holes in them. That accomplished, he builds up his own arguments based not on analogy, but on the rules of logic as understood at the time and on references to the arguments of other thinkers (usually Aristotle, who was highly regarded by the medievals).

Meanwhile...

Duns Scotus anticipated a lot of modern empiricism by a few hundred years; Roger Bacon was doing science (as a monk, no less) in the thirteenth century. Abelard propagated an ethics which, while building on Aristotle's, was almost modern in its treatment of individual intentions as the key to judging an action. Avicenna gave us the grounding for a lot of advanced logic.

etc., etc.

But, alas, we have a deeply-ingrained popular conception today that those guys were all a bunch of witch-burning troglodytes who must obviously have been our intellectual inferiors, and thus incapable of anything but the caricatures of thought we assign to them.

Irony