How do we tell truths that might hurt? (1975)
cs.utexas.edu
How do we tell truths that might hurt? (1975)
1–10 of 74 posts
Re: How do we tell truths that might hurt? (1975)
#2That isn't to say that he did not have valid reasoning for his dislikes as a language expert and a mathematician but those reasons are not ones the bulk of practitioners would likely agree are valid.
Re: How do we tell truths that might hurt? (1975)
#3Personally, I've always thought this letter was the plainest proof that Dijkstra's pithy quotes (and those that parrot them) should not be taken seriously, no matter how entertaining they are. That list covers most the major languages of the day; what he would have to say about $(YOUR_FAVORITE_LANGUAGE) would surely be equally unkind were he alive today. That isn't to say that he did not have valid reasoning for his…
> It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
is at best a hyperbolic joke. I dearly hope he wasn't being serious.
Re: How do we tell truths that might hurt? (1975)
#4Personally, I've always thought this letter was the plainest proof that Dijkstra's pithy quotes (and those that parrot them) should not be taken seriously, no matter how entertaining they are. That list covers most the major languages of the day; what he would have to say about $(YOUR_FAVORITE_LANGUAGE) would surely be equally unkind were he alive today. That isn't to say that he did not have valid reasoning for his…
Yeah. Much of this list simply comes off as arrogant and narrow-minded. Whether or not it was tongue-in-cheek, I don't know. This one in particular: > It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. is at best a hyperbolic joke. I dearly hope he wasn't being serious.
"The second major development on the software scene that I would like to mention is the birth of FORTRAN. At that time this was a project of great temerity and the people responsible for it deserve our great admiration. It would be absolutely unfair to blame them for shortcomings that only became apparent after a decade or so of extensive usage: groups with a successful look-ahead of ten years are quite rare! In retrospect we must rate FORTRAN as a successful coding technique, but with very few effective aids to conception, aids which are now so urgently needed that time has come to consider it out of date. The sooner we can forget that FORTRAN has ever existed, the better, for as a vehicle of thought it is no longer adequate: it wastes our brainpower, is too risky and therefore too expensive to use. FORTRAN’s tragic fate has been its wide acceptance, mentally chaining thousands and thousands of programmers to our past mistakes. I pray daily that more of my fellow-programmers may find the means of freeing themselves from the curse of compatibility."
Re: How do we tell truths that might hurt? (1975)
#5> Python —"the infantile disorder"—, by now nearly 30 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.
> It is practically impossible to teach good programming to students that have had a prior exposure to JS: as potential programmers they are mentally mutilated beyond hope of regeneration.
> The use of Java cripples the mind; its teaching should, therefore, be regarded as a criminal offence.
The quotes about languages were always controversial, weren't they? But it's clear now in retrospect what Dijkstra was complaining about. He found FORTRAN to trick people into thinking that programming was merely about specifying arithmetic operations in a certain order, considered BASIC to require mental models which rendered folks memetically blind to actual machine behaviors, and thought COBOL tried to be legible to management but ended up being confusing to everybody.
> Many companies that have made themselves dependent on AWS-equipment (and in doing so have sold their soul to the devil) will collapse under the sheer weight of the unmastered complexity of their data processing systems.
Yep.
> In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to Python, so that they can share each other's programs, bugs included.
Reproducibility is a real problem, and sharing code is just the first step. It's an embarrassment to physics and mathematics that we don't have a single holistic repository of algorithms, but have to rebuild everything from scratch every time. (Perlis would tell Dijkstra that this is an inevitable facet of computing, and Dijkstra would reply that Perlis is too accepting of humanity's tendency to avoid effort.)
> You would rather that I had not disturbed you by sending you this.
Heh, yeah, let's see what the comment section is like.
Re: How do we tell truths that might hurt? (1975)
#6Some of these have aged so perfectly that I only need substitute a few letters: > Python —"the infantile disorder"—, by now nearly 30 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use. > It is practically impossible to teach good programming to students that have had a prior exposure to JS: as potential programmers t…
Re: How do we tell truths that might hurt? (1975)
#7Personally, I've always thought this letter was the plainest proof that Dijkstra's pithy quotes (and those that parrot them) should not be taken seriously, no matter how entertaining they are. That list covers most the major languages of the day; what he would have to say about $(YOUR_FAVORITE_LANGUAGE) would surely be equally unkind were he alive today. That isn't to say that he did not have valid reasoning for his…
The BASIC he is describing had no call stack, nothing that would resemble a function in today's languages. FORTRAN at the time handed masses of state around in global variables and the latest version had just added subroutines and functions. This is after ALGOL 60 had established the model that we all take for granted today.
I think the bulk of practitioners today would absolutely agree with him.
Re: How do we tell truths that might hurt? (1975)
#8Some of these have aged so perfectly that I only need substitute a few letters: > Python —"the infantile disorder"—, by now nearly 30 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use. > It is practically impossible to teach good programming to students that have had a prior exposure to JS: as potential programmers t…
What modern language would Dijkstra approve of?
Re: How do we tell truths that might hurt? (1975)
#9Personally, I've always thought this letter was the plainest proof that Dijkstra's pithy quotes (and those that parrot them) should not be taken seriously, no matter how entertaining they are. That list covers most the major languages of the day; what he would have to say about $(YOUR_FAVORITE_LANGUAGE) would surely be equally unkind were he alive today. That isn't to say that he did not have valid reasoning for his…
Yeah. Much of this list simply comes off as arrogant and narrow-minded. Whether or not it was tongue-in-cheek, I don't know. This one in particular: > It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. is at best a hyperbolic joke. I dearly hope he wasn't being serious.
To this day if I saw 6502 assembly on a resume I'd be intrigued and if I saw BASIC I'd view it as a yellow flag.
Re: How do we tell truths that might hurt? (1975)
#10Personally, I've always thought this letter was the plainest proof that Dijkstra's pithy quotes (and those that parrot them) should not be taken seriously, no matter how entertaining they are. That list covers most the major languages of the day; what he would have to say about $(YOUR_FAVORITE_LANGUAGE) would surely be equally unkind were he alive today. That isn't to say that he did not have valid reasoning for his…
The context of this EWD is somewhat lost to history, because Dijkstra's point of view in many cases won so thoroughly that we cannot conceive of what he was describing. The BASIC he is describing had no call stack, nothing that would resemble a function in today's languages. FORTRAN at the time handed masses of state around in global variables and the latest version had just added subroutines and functions. This is a…