Exkurs - Von der maschinennahen zur strukturierten Programmierung
Spaghetticode
Maschinennahe Programmiersprachen nutzen Sprungbefehle (wie z.B. JMP), um Wiederholungen zu realisieren.
Sprungbefehle können leicht dazu führen, dass Programme völlig undurchschaubar werden. Im folgenden - besonders üblen - Programm führen die Sprungbefehle zu einer Art Spaghetticode, bei dem die Ablauflogik nicht leicht zu entwirren ist.
Wenn man Sprungbefehle zur Ablaufmodellierung nutzt, verliert man leicht den Überblick und erlebt bei der Ausführung des entwickelten Programms manchmal böse Überraschungen.
Schon früh erkannte man diese Schwäche und versucht seither, auf höheren Programmierebenen möglichst auf die Verwendung von Sprungbefehlen zu verzichten.
Verzicht auf Sprungbefehle
Strukturierte Programmierung benutzt keine Sprungbefehle zur Ablaufmodellierung, sondern Kontrollstrukturen, die bestimmte Ablaufmuster vorgeben.
Im folgenden - zum oben gezeigten äquivalenten - Programm wird die Kontrollstruktur
"Wiederholung mit Eintrittsbedingung" (dargestellt durch eine while
-Schleife)
zur Modellierung benutzt.
while (R1 != 0) and (R2 != 0): R0 = R0 + 1 R1 = R1 - 1 R2 = R2 - 1 while R1 != 0: R1 = R1 - 1 while R2 != 0: R2 = R2 - 1
Kontrollstrukturen erhöhen die Transparenz der Ablauflogik und verringern die Fehlerquote bei der Entwicklung von Programmen.