3 ms·
Dijkstra wrote that in 1968. At the time, quite a few languages didn’t support recursion (ten years later, FORTRAN 77 didn’t, officially), and lots of hardware
by Someone 3y ago
Dijkstra wrote that in 1968. At the time, quite a few languages didn’t support recursion (ten years later, FORTRAN 77 didn’t, officially), and lots of hardware didn’t have a call stack (a word that Dijkstra invented, and described in 1960. See https://ics.uci.edu/~jajones/INF102-S18/readings/07_dijkstra.pdf https://ics.uci.edu/~jajones/INF102-S18/readings/07_dijkstra...), so if they needed one, they’d have to write it in code.
Using a language that supported structured programming would get rid of such scaffolding code that hid the logic of the actual program.
Many languages also allowed code to jump out of and into loops, and programmers (ab)used that to cram their code into the small amounts of memory they had at their disposal. The resulting code could be quite hard to understand.
> There's a lesson here about not pontificating outside of your field.
How was that outside of his field, which was about thinking logically about programming?
- phendrenad2 3y ago'Goto considered harmful' really brings nothing new to the table. It just states that gotos are hard to reason about. Well yes, that's true. Computer programs are hard to reason about as a baseline. Everyone knew that goto was hard to reason about before he wrote about it, but for some reason his letter became a reference for people who wanted to abolish GOTO from their codebases. > How was that outside of his field, which was about thinking logically about programming? Language design falls under human-machine interfaces, and while basically everyone in that era dabbled in that field, it wasn't really his forte.
- zaphar 3y agoModern Goto's are nothing like what Djikstra was writing about. Reading it in the context of the time it was written it is a fairly good write up.
- phendrenad2 3y agoNever said that they were...
- deleted 3y ago[deleted]