Practice question · Multiple choice
Dijkstra's "Go To Statement Considered Harmful" argued about human limits, not machine ones. What exactly was the argument?
Hints
- Ask what you must do to work out the state at a given line in a goto-heavy program.
- The machine has no difficulty with jumps. Who does?
Show the answer
D. That unrestricted jumps make it impossible to reason locally
Why
With arbitrary jumps, understanding a line means finding every place that could jump to it, the whole program becomes the context. Structured blocks are entered at the top and left at the bottom, so a block can be reasoned about alone. The constraint is about human working memory, which is why the argument still applies to code no machine finds difficult.
Practise Structured Program Design
The app has 7 more questions on this lesson, and keeps your place in the course. Computer Science I is free to start.