Computer Science I / Structured Program Design
Practice question · Multiple choice

Dijkstra's "Go To Statement Considered Harmful" argued about human limits, not machine ones. What exactly was the argument?

Hints
  1. Ask what you must do to work out the state at a given line in a goto-heavy program.
  2. 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.

Read the lesson: Structured Program Design →

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.

More questions on Structured Program Design