Strukturvorgaben und Originalität keine Gegensätze:

Schnörkel- und Arabesken-Software

09.05.1980

MÜNCHEN - Das Struktur und Originalität einander nicht ausschließen müssen, wird im folgenden an datenverarbeitungsfremden Beispielen mit frappierender Klarheit demonstriert. Über die Akzeptanz von Software-Entwicklungswerkzeugen hat sich Dr. Peter Schnupp der ganz allgemein als Software-Insider Stellung nimmt, einige philosophischhumoristische Gedanken gemacht.

1) Es gibt Leute, die sind gegen Strukturen, weil sie der Originalität schadeten.

2) Es gibt Leute, die sind gegen Originalität, weil sie - bei Softwareprodukten - die Gebrauchstauglichkeit und die Wartbarkeit einschränken.

3) Es gibt Leute, die sind für Originalität, weil sich nur so der kreative Programmierer "verwirklichen" könne.

4) Und es gibt Leute, die sind gegen Werkzeuge, weil sie Struktur erzwingen, Originalität ausschließen und damit "Selbstverwirklichung" behindern würden.

Wer hat nun recht und wer hat unrecht?

Alle! Es kommt nur darauf an, was man unter Struktur und unter Originalität versteht. Und daß - wenn man erst das richtige darunter versteht - auch das richtige Werkzeug verwendet wird.

Da noch immer nicht entschieden ist, ob Programmieren nun Kunst, Handwerk oder Wissenschaft ist - vermutlich ist es ein wenig von allem - wollen wir das Problem vorsichtshalber aus allen drei Aspekten diskutieren. Beginnen wir mit der Beziehung zwischen Originalität und Struktur.

Ist Kunst nicht mehr originell, so wird sie zu Kunstgewerbe oder gar zum Kitsch. Und wie ist es mit der Struktur? Bachsche Variationen oder Shakespearesche Sonnette halten sich streng daran das ist gerade ein wesentlicher Teil ihrer unverwechselbaren Originalität. Kunstgewerbe und Kitsch hingegen zeichnen sich nicht etwa durch ein zuviel an Struktur aus sondern durch einen Mangel daran, welcher durch Schnörkel, Arabesken und Arpeggios verdeckt werden soll (und wie ist es mit dem Software-Kitsch?).

Struktur ist Teil unverwechselbarer Originalität

Der klassische Handwerksmeister, den es heute fast nicht mehr gibt und der durch den "Designer" ersetzt wurde, zeigte seine Originalität nicht etwa durch Mißachtung von Strukturvorschriften, welche ihm die Maße und Bedürfnisse des Menschen - heute nennen wir das die "Benutzerschnittstelle" - sowie technische Qualitätsforderungen - was heute "Engineering" heißt - vorgaben Im Gegenteil: er setzte sie in maximale Gebrauchstauglichkeit, Haltbarkeit, Originalität und nebenbei - Schönheit um. Das gilt unverändert auch für seinen Nachfahren, den Designer von heute. Ein Stuhl von Charles Eames etwa ist "gekonnt" originell gerade durch die Beachtung aller wesentlichen Strukturregeln: man kann auf ihm bequem sitzen, man kann ihn leicht reparieren und er paßt in nahezu jeden Raum (in unserer Sprache: er ist benutzerfreundlich, leicht wartbar und portabel!).

In der Wissenschaft schließlich hat sich für "Struktur" das Wort "Paradigma" eingebürgert. Der Wissenschaftler unterscheidet sich vom Dilettanten dadurch, daß er dieses Paradigma beherrscht und in ihm - möglichst originell - forscht; nur dann sind seine Ergebnisse überprüfbar, brauchbar und nützlich.- Nicht ohne Grund hielt Bob Floyd nach Verleihung des "Informatik-Nobelpreises" seine Turing-Lecture über die Paradigmen unserer Disziplin!

Nirgendwo sind also Struktur und Originalität Gegensätze. Sie bedingen sich sogar, schon um die Pseudooriginalität das Schnörkels zu vermeiden, in der sich niemand "verwirklicht" sondern allenfalls seine Unfähigkeit versteckt. Das gilt auch für unsere Kunst (unser Handwerk, unsere Wissenschaft); womit sich der scheinbare Widerspruch zwischen den obrigen Ansichten (1) bis (4) aufgelöst hat.

Was sind nun aber die Konsequenzen hieraus für unser eigentliches Thema - die Konstruktion von Werkzeugen für die Programmentwicklung?

Ein gutes Werkzeug muß auf die vorn kreativen Menschen zu beachtenden Strukturregeln abgestimmt sein, es muß sie unterstützen und ihn bei ihrer Anwendung führen. Es muß ihm möglichst viel der bei ihrer Einhaltung entstehenden Mühen abnehmen und ihm dadurch ermöglichen, seine Zeit und seine Fähigkeiten auf Originalität und Kreativität zu verwenden.

Aber es darf die Strukturen nicht aufzwingen, denn - auch das lehren Kunst, Handwerk und Wissenschaft - sie sind nicht unveränderlich. Sie wechseln

- mit dem Fortschritt, seien es nun Kunststile, Handwerkstechniken oder die "Paradigmenwechsel" der modernen Wissenschaftstheorie,

und

- mit dem zu bearbeitenden Gegenstand; nicht umsonst wurde der "Gelsenkirchener Barock" aus Plastik zum Synonym für handwerks- und materialfremden Kitsch.

Welche Strukturen den Programmentwickler leiten sollen, richtet sich nach seinen Aufgaben und seiner Arbeitsumgebung. Wenn sie durch das verwendete Werkzeug bedingt sind - dann ist es das falsche Werkzeug.

Sicher ist es nicht einfach, Werkzeuge zu konzipieren, die bei der Strukturierung von Software helfen ohne Strukturen aufzuzwingen.