Auf das genannte Python-Buch hatte mich ein Posting auf der Website des Economist aufmerksam gemacht, das ausdrücklich die Sprachmetapher ablehnt. Interessant sind die Kommentare unter dem Posting, denn sie weisen auf die Stärken der Metapher hin. Einer der User zitiert den bekannten Softwareentwickler Martin Fowler: "Jeder Idiot kann Code schreiben, den ein Computer versteht. Gute Programmierer schreiben Code, den Menschen verstehen können."

Das ist der Kern. Damit ist nicht etwa bloß gemeint, dass gute Programmierer sprechende Bezeichnungen verwenden sollen (also nicht "Zähler eins" schreiben, sondern zum Beispiel "Zähler für Login-Versuche") und auch nicht nur, dass sie Kommentare hinter ihre Zeilen setzen (etwa "dieser Befehl ruft das Unterprogramm 'Zähle die Login-Versuche auf'). Sondern man soll ihre Programme wie ein Stück Prosa lesen können. Vorausgesetzt, der Leser beherrscht die Sprache.

Im Grunde genommen ist diese Forderung eine Teilmenge einer anderen, nämlich: Schreibe für Menschen! Also für andere Programmierer, außerdem für Leute, denen du dein Programm erklären willst, und vor allem für die User. Die müssen zwar nicht den Code verstehen, aber das Verhalten der Maschine muss für sie nachvollziehbar und plausibel sein. Legendär der Verstoß früherer Windows-Versionen gegen dieses Prinzip, in denen man auf "Start" klicken musste, um das Programm zu BEENDEN.

Sprachen lernen heißt Kulturen verstehen

Programmieren ist also Kommunikation zwischen Menschen. Die Maschine ist da nur ein Zwischenschritt. Insofern ist die Sprachmetapher, wenn man sie nicht überreizt, schon ganz gut. Natürlich ist es Unsinn, Programmierunterricht als eine Art Fremdsprachenunterricht anzusehen. Und erst recht falsch wäre es, den einen durch den anderen ersetzen zu wollen. Richtig an dem Vergleich aber ist: Das Erlernen einer Fremdsprache (auch einer toten wie Latein) bedeutet, eine Kultur zu verstehen – und das gilt ebenso für Programmiersprachen. Schon deshalb sollten sie Pflichtfach sein.

Für uns Journalisten ist es durchaus von Vorteil, einmal ein einigermaßen komplexes Programm von innen betrachtet zu haben, bevor wir über Computer, Algorithmen und das Internet schreiben. Und für den Onlinejournalismus gilt, dass die organisatorische Trennung von schreibenden und programmierenden Kollegen schrittweise überwunden werden sollte.

Gewiss, es sind verschiedene Tätigkeiten. Doch so wie wir Schreiber allmählich gelernt haben, Hand in Hand mit Layoutern und Grafikern zu arbeiten, die eigene und gleichberechtigte Anforderungen an eine gedruckte Seite oder eine Website stellen, müssen wir lernen, dass Programmierer nicht einfach bloß die Gefäße bereitstellen, in die wir unsere Texte gießen. Nein, sie definieren (und das immer raffinierter) genauso wie wir die Art und Weise, wie der Leser/User mit dem umgehen kann, was ihm auf dem Bildschirm geboten wird. Schreiben, Gestalten und Programmieren gehören zusammen, und zwar nicht erst dann, wenn der Text fertig ist. In einer idealen Welt bauen Schreiber, Gestalter und Programmierer gemeinsam einen oder zwei oder drei Prototypen, bis das Produkt steht.

Man verzeihe mir den selbstbezüglichen letzten Absatz. Er ist mir durchgerutscht, aber weil er mit Herzblut geschrieben wurde, bleibt er jetzt drin. Und auch, weil er das Mantra dieser Kolumne widerspiegelt: Technik, das ist keine Ansammlung von Sachen, sondern eine Abfolge von Handlungen.