Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Concept

Structured Programming

Paradigm

Structured programming is a programming paradigm characterized by source code that uses block based structure to encode control flow: sequencing, selection and iteration in place of arbitrary jumps. Edsger W. Dijkstra coined the term, and his 1968 open letter Go To Statement Considered Harmful made the case that unrestricted jumps make programs impossible to reason about; the structured program theorem supplies the theoretical basis that the three structured forms suffice. This description is adapted from Wikipedia contributors under CC BY-SA 4.0; changes were made. https://creativecommons.org/licenses/by-sa/4.0/

Facts
Origin Year
1968 1
The year of Dijkstra's open letter Go To Statement Considered Harmful; the term structured programming is his coinage.
Core Principle
Compose programs only from sequence, choice and repetition, each with one entry and one exit, so that the text of a program tracks what it does. 1
FAQs

Did everyone agree that the goto statement should be abolished?

Not everyone. Donald Knuth argued in 1974 that some direct jumps make code clearer without losing provability.

No. The structured programming movement originally aimed to eliminate the goto statement, but Donald Knuth accepted that programs must be written with provability in mind while disagreeing with abolishing goto. In his 1974 paper Structured Programming with Goto Statements he gave examples where he believed a direct jump leads to clearer and more efficient code without sacrificing provability. The argument was still alive in 1987, when Frank Rubin published an open letter titled GOTO Considered Harmful Considered Harmful.
Connections

Associated With

Dijkstra coined the term and led the movement; his 1972 Turing Award cites this advocacy.

Source Wikipedia: Structured programming
Edsger W. Dijkstra, Pioneers

Edsger Dijkstra's 1968 letter Go To Statement Considered Harmful argued against unrestricted goto statements and is the founding document of the structured programming movement.

Source Wikipedia: Edsger W. Dijkstra

In Field

Sources
1. Wikipedia: Structured programming
Wikipedia
  • Opening and History sections
    Structured programming is a programming paradigm characterized by source code that uses block-based source code structure to encode control flow.
  • Theoretical foundation section
    The structured program theorem provides the theoretical basis of structured programming.
  • History section
    Edsger W. Dijkstra, who coined the term structured programming
  • In Group: Core Programming Paradigms, Lead
    Structured programming is a programming paradigm characterized by source code that uses block-based source code structure to encode control flow such as sequence, selection (i.e. if-then-else and switch) and iteration (i.e. for and while).
View the Source
Wikipedia: Edsger W. Dijkstra
Wikimedia FoundationAssociated With: Edsger W. DijkstraView the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.