Als "Strukturiertes Programmieren" bezeichne ich eine Methode des Programmierens, die Anfang der 1970er Jahre propagiert wurde. Zwei wesentliche Aspekte sind:
- die baumartige Zerlegung eines Programms in Teilprogramme (Prozeduren)
- die Beschränkung auf lediglich drei Kontrollstrukturen:
Sequenz (hintereinander auszuführende Programmanweisungen)
Auswahl (Verzweigung)
Wiederholung (Schleifen)
Insbesondere wird die freie Sprunganweisung, das sogannte GOTO vermieden, das sich davor als sehr starke, aber auch als sehr gefährliche Methode erwiesen hat. E. Dijkstra begründete das strukturierte Programmieren 1968 mit „Go To Statement Considered Harmful“. Neben anderen war N. Wirth mit dem Entwurf der Programmiersprache Pascal ein Wegbereiter der strukturierten Programmierung.
Strukturierte Programmierung ist ein Programmiersprachen übergreifendes Programmierparadigma, das Anfang der 1970er Jahre auch aufgrund der Softwarekrise populär wurde. Es beinhaltet zum einen die baumartige Zerlegung eines Programms in Teilprogramme (Prozeduren) und beinhaltet somit das Paradigma der prozeduralen Programmierung. Zudem verlangt die strukturierte Programmierung auf der untersten Ebene die Beschränkung auf lediglich drei Kontrollstrukturen:
Die bekannteste Konsequenz dieses Prinzips ist die Vermeidung oder – abhängig von der Programmiersprache – der eingeschränkte und standardisierte Einsatz der Sprunganweisung, des GOTO.
Inhaltsverzeichnis |
Ein Wendepunkt hin zur strukturierten Programmierung war sicherlich der legendäre Aufsatz „Go To Statement Considered Harmful“ von Edsger W. Dijkstra aus dem Jahr 1968. Neben anderen war Niklaus Wirth mit dem Entwurf der Programmiersprache Pascal ein Wegbereiter der strukturierten Programmierung.
Auch wenn strukturierte Programmierung prinzipiell in allen Sprachen möglich ist, sogar in Assembler, ist es sicherlich vorteilhaft, eine prozedurale Sprache zu verwenden. Mit dem Wachsen der Verbreitung der strukturierten Programmierung wurden auch Sprachen entwickelt, die Merkmale beinhalten, die die strukturierte Programmierung unterstützen und solche weitestgehend eliminieren, die nicht diesem Programmierstil entsprechen. Folgende Programmiersprachen eignen sich unter anderem zur strukturierten Programmierung:
Strukturierte Programmierung ist heute in fast allen Bereichen, in denen professionell Software entwickelt wird, eine Selbstverständlichkeit. Die neueren Programmierparadigmen wie generative Programmierung, aspektorientierte Programmierung oder objektorientierte Programmierung bauen auf der strukturierten Programmierung auf und erweitern oder ergänzen diese.