Go To Statement Considered Harmful¶
Dijkstra, E. W. (1968). Go To Statement Considered Harmful. Communications of the ACM, 11(3), 147-148.
Cited by¶
1 citation across 1 artifact.
Each citation links to the sentence it supports in the citing article.
Primes¶
- Non-Locality
- In computing, non-locality is pervasive and consequential: global mutable variables couple distant code, pointer aliasing lets a write here change a value there with no syntactic adjacency, non-local control flow (GOTO, exceptions, longjmp, callbacks) transfers control across the program's structure, and shared mutable state couples modules that never name each other.
This sourceClassic argument that non-local control flow (GOTO) defeats local reasoning about program state; the software locus of action-at-a-distance.
Supported in partVerified against the work's full text
Dijkstra shows unrestricted GOTO breaks the link between program text and running process; he says nothing about global variables, aliasing, exceptions, callbacks or shared state.
“The unbridled use of the go to statement has an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress.”
- In computing, non-locality is pervasive and consequential: global mutable variables couple distant code, pointer aliasing lets a write here change a value there with no syntactic adjacency, non-local control flow (GOTO, exceptions, longjmp, callbacks) transfers control across the program's structure, and shared mutable state couples modules that never name each other.
Verification¶
Does it exist? Confirmed. This work's DOI resolves to a registered record, which fixes its identity. That is all it fixes.
Does it back the claim? Read against the text for 1 of 1 citation: 1 supported in part. Each verdict is shown under its citation below, with what in the work backs the sentence.
Support is checked per citation rather than per work — the same source can be cited soundly in one article and wrongly in another. Per-citation recording began recently, so a citation with no recorded check is a gap in the record rather than evidence it went unchecked.
See how references were verified.
Registry ID ref:e1978b696479 · see in the full table