There was the time when computer programs were so much long and unstructured that some times just a few people managed to logically navigate source code in huge software projects. Having low-level programming languages, programmers used various equivalents of "goto statements" for conditional branching that often led to decreasing readability and difficulties in keeping a logical context, especially jumping too far to another subroutine.
A few things happened on the way to a solution that eventually appeared in the form of Structured Programming Paradigm. In 1966, Corrado Böhm and Guiseppe Jacopini proved a theorem that any computer program which might be represented as a flow diagram can be rewritten using only 3 control structures (sequence, selection, iteration).
In 1968, Edsger W. Dijkstra published the influential article "Go To Statement Considered Harmful" where he pointed out that using too many goto statements has a negative effect on the readability and understanding of computer programs. Though, his intention was, unfortunately, misunderstood and misused by the almost complete abandoning of using "goto" in high-level programming languages, even at the cost of less readable and vague code.
As a result of working on the improvement of the ALGOL, Niklaus Wirth designed a new imperative programming language, Pascal, which was released in 1970. It was widely used for teaching students the Structured Programming Design for a few decades since then.