I don’t think this author understands Dijkstra’s essay the way I understand it. Dijkstra was very specific about advising people to not assign agency to computer programs, nor to rely on operational reasoning. However, the cited examples involve either the explanation of the concepts of programming (rather than reasoning about a program itself), or the very same thing that Dijkstra exhorted us to do... read what the program “says”, i.e. its denotation. Reason about it mathematically and logically, deducing its nature, instead of watching it like a mechanism and abducting various properties.
Exactly. The author misunderstood Dijkstra's essay entirely, or perhaps just wanted to stir up controversy.
Furthermore, it's ridiculous to condescendingly imply that Dijkstra was simply unaware of Piaget whose work was already at the height of popularity well before that time.
Here's the original, which, 32 years later, is still a much better read than this critique of it!
>Furthermore, it's ridiculous to condescendingly imply that Dijkstra was simply unaware of Piaget whose work was already at the height of popularity well before that time.
It's not so condenscending given that his entire essay is basically a bunch of unsubstantiated hot takes, for example:
" 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."
This is essentially the unreflected pop-culture reading of the middle ages as the 'dark ages' (I also have no idea how Dijkstra determined that reasoning by analogy was particularly a feature of medieval society), which happens to be wrong, and ironically is in itself a sort of sloppy analogy of the kind he just denounced
> ironically is in itself a sort of sloppy analogy of the kind he just denounced
I read it as that being the point, that analogies are sloppy, reasoning by analogy is sloppy, and look at how this sloppy analogy is intellectually bankrupt.
I fail to see why reasoning by analogy is a problem. After all, the utility of a formal system lies in the way it's elements and rules map to some world context. .. in which case when we "reason" with the formal system we're invoking the analogy to actually conclude something about that world context.
> [T]he utility of a formal system lies in the way it's elements and rules map to some world context.
To some [specific] world context, yes, but not to any world context.
Reasoning from analogy posits that the inverse is true: We can choose an outcome, then use a series of analogies to connect the evidence we have at hand to that outcome. This series of analogies is then codified into “knowledge”.
For a humorous take on this look no further than the witch trial scene in Monty Python and the Holy Grail.
Argument from analogy is a special type of inductive argument, whereby perceived similarities are used as a basis to infer some further similarity that has yet to be observed. Analogical reasoning is one of the most common methods by which human beings attempt to understand the world and make decisions.
The python reference indicates you imply a form of fallacious reasoning which the general "argument by analogy" isn't. The below is a good example I found though -
"There are seven windows given to animals in the domicile of the head: two nostrils, two eyes, two ears, and a mouth...From this and many other similarities in Nature, too tedious to enumerate, we gather that the number of planets must necessarily be seven."
– Francesco Sizzi, 17th-century Italian astronomer
The problem with arguing by analogy is that there are two possible cases:
1. Your analogy maps precisely, in which case it's no simpler than arguing about the original thing.
2. Your analogy is imperfect, in which case your conclusions are suspect.
Case #2 is most common, and the argument usually continues by proposing a different analogy. Now you're arguing about the merits of your analogies, rather than about the topic itself.
Analogy can be a good pedagogical tool, highlighting some aspects of the problem, and giving you an intuitive way to connect to them. But eventually the analogy always breaks, and now you've got to un-learn the analogy before re-learning the reality.
Formal systems aren't arguments, they're assumptions. As long as the assumptions hold, the formal systems are useful. If there's anything to argue about, that's a limitation of their utility.