Hacker News new | ask | show | jobs
by brundolf 2077 days ago
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.

2 comments

Tenured professors, particularly of EWD's stature, get a lot of license to say what they want. I can certainly a few of my instructors who were rather colorful in a variety of ways.
I've no doubt they have license to do so without damaging their careers. That doesn't make it a good take.
Because it makes you uncomfortable? Or because you have reason to believe otherwise?
Because any subjective assertion this narrow is going to be some amount of wrong.
Dijkstra was obsessed with mathematical correctness and certainly knew it was pointless to pursue in human language speaking about complex topics. He wanted people to pay attention, and they did. I think it's a testament to the effectiveness of his writing, and proof that it was not merely inflammatory, that people still read him and debate his ideas today, when his ideas have as little mainstream acceptance as they ever had.
If you're used to exclusively programming with line numbers and you're a kid, sure, it might take a little bit of time and instruction to comprehend that line numbers aren't necessary. But from what he wrote it just sounds like this guy is whining about (when faced with students like this) having to actually do his job.
Fortran and BASIC at the time were, in many ways, the antithesis to his ideas of what a programming language should be.

They did not permit recursion (direct or indirect). Almost by design they encouraged spaghetti code (the thing Structured Programming was meant to work against). They encouraged (or required) global state. They discouraged modularity. They were effective languages (in the sense that people got stuff done in them), but they were poor languages when compared to the capabilities of their contemporaries.

I didn't have an impression that line numbers were important. Most of the time they did nothing and were unwieldy to maintain, they were more nuisance than anything else.