Live data from Hacker News

How do we tell truths that might hurt? (1975)

cs.utexas.edu

11–20 of 74 posts

Re: How do we tell truths that might hurt? (1975)

#11
post #9
post #3

Earlier quoted context omitted.

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.

I disagree and I believe most developers would agree that it would have been a far better use of time to learn 6502 assembly than Apple BASIC, at least if one's goal was to actually learn how to program computers. 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.

Then you say "There are better options than BASIC for teaching new programmers." That's not what was written.

I've read countless anecdotes from perfectly capable programmers who not only learned, but first discovered their interest in the field, via BASIC. No language "mentally mutilates programmers beyond hope of regeneration". And BASIC probably isn't even the worst one for learning purposes.

Re: How do we tell truths that might hurt? (1975)

#12
post #5

Some 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's with the hate for python. I've noticed some hate this irl and it's strange. Python is one of the best languages out there right now in terms of ease of use and future maintainability (with types).

Re: How do we tell truths that might hurt? (1975)

#13
post #3

Earlier quoted context omitted.

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.

Dijkstra provides glimpses of his reasoning scattered across his missives. For example, for FORTRAN in https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340... " 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…

I don't think any language that could ever be invented could be described as leaving programming students "mentally mutilated beyond hope of regeneration", no matter how bad it is. So either he was being hyperbolic (and the sarcasm was lost on me), or he was being shockingly dogmatic.

It's the kind of ranting you do with your colleagues in a pub after-hours, not something you publish in a professional context and frame as "unpleasant truths", as if they've been proven through scientific measurement.

Re: How do we tell truths that might hurt? (1975)

#14
post #6
post #5

Some 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?

Whichever one grandparent commenter likes best.

Re: How do we tell truths that might hurt? (1975)

#15
post #9

Earlier quoted context omitted.

I disagree and I believe most developers would agree that it would have been a far better use of time to learn 6502 assembly than Apple BASIC, at least if one's goal was to actually learn how to program computers. 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.

Then you say "There are better options than BASIC for teaching new programmers." That's not what was written. I've read countless anecdotes from perfectly capable programmers who not only learned, but first discovered their interest in the field, via BASIC. No language "mentally mutilates programmers beyond hope of regeneration". And BASIC probably isn't even the worst one for learning purposes.

He calls out BASIC specifically because it was ubiquitous and often the only option on the machines novices would have available at the time. It logically follows that most programmers of that era, capable or otherwise, started on BASIC. Since he’s not here to tell us, I can only assume Dijkstra met the occasional exceptional individual who began learning to program in a more mathematically rigorous language during that time and was left with a vastly more favorable impression.

Remember, Dijkstra was a professor and he was an expert on teaching programming. He would have far more experience with the effect he claims than I do. I hazard to guess that is true with respect to you too.

And yes he’s obviously engaging in rhetorical hyperbole in the text you quote.

Re: How do we tell truths that might hurt? (1975)

#16
post #6
post #5

Some 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?

I suspect, none of them. If he did approve of one, it would probably be Haskell.

And, for all his complaining, I don't know of any language that he authored. He's sure good at telling everyone that they're doing it wrong, though...

Re: How do we tell truths that might hurt? (1975)

#17
He wrote this in 1975, dissing most of the popular programming languages of the time. Does anyone know which language Dijkstra didn't think was a mess? (and please don't say GCL, his own unrunnable toy language)

I mean, if FORTRAN is a mess, then isn't ALGOL too? Is anyone here old enough to remember?

Re: How do we tell truths that might hurt? (1975)

#18

He wrote this in 1975, dissing most of the popular programming languages of the time. Does anyone know which language Dijkstra didn't think was a mess? (and please don't say GCL, his own unrunnable toy language) I mean, if FORTRAN is a mess, then isn't ALGOL too? Is anyone here old enough to remember?

Algol is quite different from Fortran.

Re: How do we tell truths that might hurt? (1975)

#19
post #18

He wrote this in 1975, dissing most of the popular programming languages of the time. Does anyone know which language Dijkstra didn't think was a mess? (and please don't say GCL, his own unrunnable toy language) I mean, if FORTRAN is a mess, then isn't ALGOL too? Is anyone here old enough to remember?

Algol is quite different from Fortran.

Sure, so is COBOL. That wasn't my question.

Re: How do we tell truths that might hurt? (1975)

#20
post #6

Earlier quoted context omitted.

What modern language would Dijkstra approve of?

I suspect, none of them. If he did approve of one, it would probably be Haskell. And, for all his complaining, I don't know of any language that he authored. He's sure good at telling everyone that they're doing it wrong, though...

Dijkstra co-created a rather influential language called Algol 60[1]. It and its immediate descendants are still used in scholarly CS work because it's so good for clearly describing algorithms. Past that, the influence of Algol 60 on virtually all modern programming languages is hard to overstate.

[1] https://en.wikipedia.org/wiki/ALGOL_60

Post reply on HN