Wolfgang Hebold

Stil und Programm



Abstract

Die Rede vom guten oder schlechten Programmierstil ist unter Softwareentwicklern und Programmierern geläufig. Dabei stammt dieser Maßstab aus der Ästhetik. In einer vom Zweck geprägten technischen Sprache ist er womöglich nicht wirklich am Platz, sondern nur eine facon de parles, die eine Art schöne technische Literatur suggeriert.
Stil setzt Auswahl voraus. Andernfalls gäbe es bloß die erfüllte Funktion. Und die Softwareentwicklung hält auf ihrem Weg vom Entwurf des Produkts bis zur Realisierung Wahlmöglichkeiten, auch auf der letzten Stufe, der Programmierung, bereit. Denn der verfasste Code, letztlich eine mathematische Formel, ist mit seinem Zweck, dem Softwareprodukt, nur locker verbunden. Zu einem Produkt existieren zahllose Formeln, zwischen denen sich der Programmierer entscheidet. Und diese Entscheidung zeigt seinen Stil.
Es gibt ihn also, den Programmierstil. Und die kanonische Einteilung in funktionale, deskriptive und imperative Programmiersprachen entspricht in etwa den vorgegebenen Stilen, der Tradition. Je nach Neigung akzeptieren Programmierer diese unter dem Primat des Produkts, oder sie greifen zu Sprachen und Mitteln, die oft genug die Sprachlust bedienen. Dort ergibt sich gewöhnlich ein strengerer Stil, hier kommt es manchmal zu absurden Konstrukten. Interessant sind sie beide. Denn in jedem Fall zeigt ihre Verschiedenheit, in Anlehnung an eine Bemerkung von Humboldts, die Verschiedenheit der Technikansichten selbst - hier speziell der technischen Welt der Computer.
Und mehr: Stilbrüche, oft als Beleg für die Unzulänglichkeit des Programms, schlimmstenfalls des Programmierers gedeutet, markieren mitunter Grenzen technischer Sprachen; zu nennen wären die vielen Versuche, parallele Prozesse mit technischen Sprachen in Griff zu bekommen. Die Formalismen, also die Mittel, sind zwar schon da, aber sie passen noch nicht zu unserer Art und Weise zu denken.
Programmierstile sind also beides: Ausdruck des Denkens im Rahmen der Technik und Hinweis, an welchen Stellen selbst formales Denken über die Computertechnik hinausreicht oder zumindest nicht recht zu ihr passt.