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.