Zum Inhalt springen

Software mit Stil (Frankfurter Rundschau, 20.6.2003)

Konrad Lischka
Konrad Lischka
3 minuten gelesen

Software mit Stil

Programmierer schreiben ihre Befehlszeilen individuell – zur Freude von Literaturwissenschaftlern und Anwälten

Frankfurter Rundschau, 20.6.2003

Mit den gut 27 Megabyte Quelltext des vor kurzem in der neusten Version veröffentlichten Linux-Systemkerns lädt man sich nicht nur das Herz eines freien Betriebssystems, sondern auch viel Wut und Verzweiflung auf die Festplatte. Zwischen den Werten und Variablen seufzt der Treiber-Programmierer Eric Youngdale in einem Kommentar: "pretty well hopeless". Donald Becker knurrt an anderer Stelle einen Hersteller von Grafikkarten an: "Grrr, damn Matrox boards", und in einer Programmbibliothek heißt es über den Linux-Initiator Linus Torvalds gar ironisch: "Torvalds fucked it up" – er hat's versaut. Genau 3288 Mal fällt in den Kommentaren der aktuellsten Version des Linux-Systemkerns das unflätige Wort "fuck", hat der Berliner Literaturwissenschaftler Florian Cramer gezählt.

"Diese Kommentare sollen eigentlich vor allem Lesern des Quellcodes die Programmlogik verständlich machen – auf den ersten Blick, ohne dass eine Analyse der Programminstruktionen selbst nötig wäre", sagt Cramer. Diese weisen Kommentare machen einen Quellcode ebenso wie die wilden Flüche für Leser – auch für nicht der Programmiersprache mächtige – zu einem individuellen Text. Deshalb könnten sie zu einem entscheidenden Beweisstück in einem für die Softwarebranche wichtigen Prozess werden.

Derzeit droht das kleine US-Unternehmen SCO Anbietern und Anwendern des Betriebssystems Linux. Mitte der 90er Jahre verdiente SCO unter dem Namen Caldera gut mit dem Vertrieb einer Variante des Betriebssystems Unix. Heute läuft das Geschäft nicht mehr so gut – wegen der freien Unix-Alternative Linux. SCO behauptet nun, der Linux-Systemkern enthalte aus seinem Unix kopierte Quellcode-Passagen. Eine Klage gegen IBM läuft, weitere hat SCO angedroht. Die Beweise für die erhobene Beschuldigung sind derzeit nicht öffentlich, wenn sie denn existieren. Immerhin gewährte SCO zwei Analysten unter strengen Auflagen Einblick in angeblich identische Passagen der beiden Quellcodes. Der Analyst Richard Claybrook vom US-Marktforschungsunternehmen Aberdeen Group sagte daraufhin, er habe zwei Passagen Quellcode mit bis zu 80 Zeilen Länge als identisch erkannt – vor allem, weil in beiden dieselben Programmiererkommentare standen. Wie auch der Rechtsstreit ausgeht – der Streit rückt Programme als lesbare, individuell formulierte und schützenswerte Texte ins öffentliche Bewusstsein.

Dorthin – neben Essay oder wissenschaftliche Fachartikel – gehört Quellcode auch nach Meinung einiger Informatiker. Der inzwischen emeritierte Informatikprofessor Donald Knuth von der Stanford-Universität schrieb 1984 in seinem berühmten Aufsatz Literate Programming: "Statt unsere Hauptaufgabe in der Anleitung des Computers zu sehen, sollten wir uns darauf konzentrieren, menschlichen Wesen zu erklären, was wir den Computer tun lassen wollen. Wer literarisches Programmieren praktiziert, kann als Essayist angesehen werden, dessen Hauptsorge die Exposition und exzellenter Stil sind."

Der Aufruf Knuths war eine geradlinige Fortführung der Entwicklung von Programmiersprachen seit den 50er Jahren. Die damals geschaffenen Hochsprachen sollen logische Bezüge in einem Quellcode möglichst sprachlich verdeutlichen – etwa wenn Bedingungen mit den Ausdrücken "wenn" und "dann" beschrieben werden. So können Nicht-Mathematiker die Programmzeilen eher nachvollziehen, bevor ein Compiler den Quelltext in Maschinencode übersetzt: "Manche Hochsprachen erlauben Konstruktionen, die bereits sehr nahe am Gesprochenen sind. Sie ermöglichen es so, Programme verständlich zu schreiben", erklärt der Präsident der Free Software Foundation Europe, Georg Greve, die Vorzüge solcher Sprachen.

Die Bandbreite der Ausdrucksmöglichkeiten hat viele Autoren in Programmiersprachen etwas anderes schreiben lassen als Lösungen für IT-Probleme. Es gibt Wettbewerbe wie den "obfuscated C contest", bei denen die Juroren das kryptischste, aber gut funktionierende Programm suchen. Es gibt andererseits Künstler, die in Programmiersprachen dichten, was 1962 zum ersten Mal die französische Dichtergruppe OULIPO um Raymond Queneau und François le Lionnais vorschlug. "Eine Kunstform, die seit den 90er Jahren tatsächlich populär geworden ist", bemerkt der Literaturwissenschaftler Florian Cramer. "Keine Programmiersprache ist so rigide, dass sie nicht individuelle Stile und Dialekte zuließe."

Der eigentliche Stil eines Programmierers wird sich also wahrscheinlich jenseits der Kommentare finden. Georg Greve glaubt zwar nicht, dass er jeden Autor am Stil des Codes identifizieren könnte. Doch Richtungen sieht er durchaus: "beispielsweise eine möglichst komplexe, viele Funktionen in eine Zeile packende Kompakt-Programmierung im Gegensatz zum Ansatz, im Sinne der Verständlichkeit nur eine Funktion je Zeile zu fomulieren".

Florian Cramer erkennt in den verschiedenen Programmierstilen Parallelen zur Entwicklung von Prosatexten. Im klassizistischen Sinne schönen Code schreibt seiner Meinung nach Donald Knuth. Dessen Programme führen Funktionen möglichst elegant und ohne Optimierung auf eine bestimmte Hardwarebasis hin aus. Als Hauptvertreter für minimalistischen Code sieht Cramer den Kryptografen Daniel Bernstein. Skriptsprachen wie Perl hingegen würden eklektischen, postmodernen Code fördern, da die Autoren mit ihnen komplexe Funktion in extrem dichte und daher schwer verständliche Konstrukte verpacken können.

In manchem Quelltext steckt also mehr individueller Stil, als ein verzweifeltes "fuck" ausdrückt. Dass sich daran ein paar Menschen mehr als bisher erfreuen können, hat der Rechtsstreit um SCO und Linux schon bewirkt – wenn auch nur als Kollateralnutzen.

Konrad Lischka

Projektmanagement, Kommunikations- und Politikberatung für gemeinnützige Organisationen und öffentliche Verwaltung. Privat: Bloggen über Software und Gesellschaft. Studien, Vorträge + Ehrenamt.
Immer gut: Newsletter abonnieren


auch interessant

Wer investiert in die Zukunft, wenn alle sparen?

Der common senf aktueller Debatten um Staatsausgaben, Tarifverhandlungen und Zinspolitik scheint mir gerade ein gefährlicher: Alle sollen sparen. Der Staat soll weniger ausgeben und damit der Gesamtwirtschaft Geld entziehen. Arbeitnehmer sollen Reallohnverluste akzeptieren, sparen und damit der Gesamtwirtschaft Geld entziehen. Und Unternehmen sollen sparen, bloß keine Kredite aufnehmen für Investitionen

Wer investiert in die Zukunft, wenn alle sparen?

Paradox der Gegenwart

Einerseits sehen so viele Menschen ihre individuellen (Konsum)Bedürfnisse als das wichtigste Gut, als absolut schützenswert. Überspitzte Maxime: Was ich will, ist heilig – alles geht vom Individuum aus. Andererseits erscheint genauso viele Menschen das Individuum ganz klein, wenn es darum geht, etwas zu verändern in der Welt. Überspitzte Maxime: Ich

Paradox der Gegenwart

Wie Schmecken funktioniert

Gelernt: Geschmack und Aroma sind zwei ganz unterschiedliche Wahrnehmungen. Für jede ist ein anderer Teil im Gehirn verantwortlich. Und jede basiert auf unterschiedlichen Daten: Für den Geschmack kommen Eindrücke von der Zunge, fürs Aroma von Rezeptoren in der Nase. Beides vermischt das Gehirn zum Gesamteindruck Schmecken. Sehr lesenswerter Aufsatz darüber

Wie Schmecken funktioniert