Wikipedia · einfach zusammengefasst · Stand
Strukturierte Programmierung
Zudem verlangt die strukturierte Programmierung auf der untersten Ebene die Beschränkung auf lediglich drei Kontrollstrukturen: Sequenz (hintereinander …
Inhalt3 Abschnitte
Grundprinzip und Kontrollstrukturen
Strukturierte Programmierung ist ein programmiersprachenübergreifendes Programmierparadigma aus den 1960er Jahren, also aus der Zeit vor der Softwarekrise. Es beschreibt, wie Programme übersichtlich und nachvollziehbar aufgebaut werden. Ein Programm wird baumartig in Teilprogramme, meist Prozeduren genannt, zerlegt. Damit enthält strukturierte Programmierung zugleich das Paradigma der prozeduralen Programmierung.
Auf der untersten Ebene soll ein strukturiertes Programm nur drei grundlegende Kontrollstrukturen verwenden:
- Sequenz: Programmanweisungen werden hintereinander ausgeführt.
- Auswahl oder Selektion: Eine Verzweigung entscheidet abhängig von einer Bedingung, welcher Programmteil ausgeführt wird.
- Wiederholung oder Iteration: Eine Schleife führt einen Programmteil mehrfach aus.
Diese drei Strukturen können in Programmen kombiniert und ineinander verschachtelt werden. Sie werden unter anderem mit Nassi-Shneiderman-Diagrammen und Programmablaufplänen dargestellt.
Entwicklung und Bedeutung
Ein wichtiger Wendepunkt war eine Veröffentlichung von Corrado Böhm und seinem Studenten Giuseppe Jacopini aus dem Jahr 1966. Im Satz von Böhm und Jacopini zeigten sie, dass Programme auf die drei grundlegenden Kontrollstrukturen Sequenz, Auswahl und Wiederholung beschränkt werden können. Ebenfalls großen Einfluss hatte Edsger W. Dijkstras Aufsatz „Go To Statement Considered Harmful“ von 1968. Niklaus Wirth war mit dem Entwurf der Programmiersprache Pascal ein weiterer Wegbereiter.
Die bekannteste praktische Konsequenz ist die Vermeidung oder, abhängig von der Programmiersprache, der eingeschränkte und standardisierte Einsatz der Sprunganweisung GOTO. Häufige und unübersichtliche Sprünge können zu sogenanntem „Spaghetticode“ führen.
Durch Teilprogramme mit lokaler Sichtbarkeit von Identifikatoren und durch klar begrenzte Kontrollstrukturen lassen sich Codewiederholungen vermeiden. Das erleichtert die Suche nach Programmfehlern, macht Programme kürzer und übersichtlicher und vereinfacht dadurch die Wartung von Software.
Strukturierte Programmierung ist heute in fast allen Bereichen der professionellen Softwareentwicklung selbstverständlich. Neuere Programmierparadigmen wie generative, aspektorientierte und objektorientierte Programmierung bauen auf ihr auf und erweitern oder ergänzen sie.
Strukturierte Programmiersprachen
Strukturierte Programmierung ist prinzipiell in allen Programmiersprachen möglich, sogar in Assembler. Für ihre Umsetzung ist jedoch meist eine prozedurale Sprache vorteilhaft. Mit der zunehmenden Verbreitung des Paradigmas wurden Programmiersprachen entwickelt, die strukturierte Programmierung gezielt unterstützen und Elemente, die diesem Stil widersprechen, weitgehend beseitigen.
Zu den Sprachen, die strukturierte Programmierung unterstützen, gehören:
- Ada und Algol
- C und C++ sowie C#
- COBOL ab COBOL 85
- Fortran ab Fortran 77
- Java und Python
- Pascal, Modula-2, Oberon und Component Pascal
- Visual Basic
- Go