Schlagwort-Archive: Nassi-Shneiderman

Imperative Programmierung und PyNassi 1

Was mir in der OOP die UML leistet, bringt mir in der imperativen Programmierung das Struktogramm. Natürlich gibt es in der imperativen Programmierung auch einen Datenflußplan und einen Programmablaufplan und besonders für Assembler sind auch Speicherbelegungspläne noch immer in Verwendung, aber ich finde, dass das Struktogramm nach Nassi-Shneiderman (Wikipedia) am wichtigsten ist.
PyNassi führe ich in diesem Zusammenhang nicht nur an, weil mir das Projekt gefällt und weil man damit aus einem Struktogramm gleich einen Code generieren kann, sondern weil es auch aufzeigt, dass man auch in typischen OOP-Programmier- oder Skriptsprachen prozedural programmieren kann. Sehr sinnlos ist das in Java oder gar in Ruby, denn Ruby halte ich für die Programmiersprache in der das Konzept der OOP am konsequentesten umgesetzt wurde. Umgekehrt kann man theoretisch auch in C, Cobol oder gar in Assembler objektorientiert programmieren, obwohl das hoffentlich nie jemand von mir verlangt. Programmiersprachen sind nach vielen Kriterien einteilbar und auch bei den Paradigmen findet man unterschiedliche Einteilungen. Eine Betrachtung der historischen Entwicklung ist also unbedingt empfehlenswert. Eines haben aber alle Programmiersprachen gemeinsam, am Ende wird daraus auf verschieden Wegen direkt oder indirekt Maschinencode erzeugt, was erklärt, dass man sie auch leicht zweckentfremdet verwenden kann und zum Beispiel in Python, einer typischen OOP-Skriptsprache (also mit Interpreter statt Compiler) strukturierte Programme entwerfen und programmieren kann. Im Fall von PyNassi macht dies sogar Sinn, meistens sind imperative Programmfragmente in OOP-Sprachen aber völlig unangebracht und kontraindiziert.
In den nächsten Artikeln möchte ich auf folgende Punkte etwas näher eingehen:

  • Problemanalyse
  • Formularentwurfsblatt
  • Speierbelegungsplan
  • Datenflußplan
  • Programmablaufplan
  • Struktogramm
  • PyNassi

Eines möchte ich vorweg nehmen, denn es ist jedenfalls klar und nicht diskutierbar, dass die Eva die Chefin aller Anwendungsprogrammierer ist. Mit Eva meine ich natürlich die Eingabe, Verarbeitung und Ausgabe. 😉

(723)