ÜBERSTROM

Programmieren

Die Freude am Quelltext

von Mario Donick

17.09.2022

Über die Schönheit von Code, das Programmieren als Schreiben und Flow-Erlebnisse wurde schon viel geschrieben. Interessant ist aber auch die Leibwahrnehmung in Programmiersituationen.

eine Computertastatur

Gliederung

  1. Sinnlicher Quelltext
  2. Weltkonstruktion, Selbstkonstruktion
  3. Programmieren als Schreiben
  4. Programmieren als Selbstausdruck und Konstruktion von Welt
  5. Die Lust am Quelltext
  6. Flow als leibliches Spüren
  7. Aufwachen

1. Sinnlicher Quelltext

Von Anfang an hatte ich eine sehr sinnliche Beziehung zu Quelltext. Da ich anfangs nur einen alten Heimcomputer aus DDR-Produktion besaß - einen "Kleincomputer KC85/3", als Geschenk erhalten in den Wendejahren -, liefen bekannte Spiele und Anwendungen aus 'dem Westen' nicht. Daher war ich als Kind gezwungen, Programmieren zu lernen, um das Gerät zu nutzen. Entsprechende Bücher erhielt ich in der Stadtbibliothek. Noch immer kann ich mir den Geruch des vergilbten DDR-Papiers in Erinnerung rufen, das ungleichmäßige, mal raue, mal glatte Gefühl der Seiten, sowie Geruch und Wärme des Computers.

Nachdem ich mit Hilfe der Bücher und viel Trial and Error die eingebaute BASIC-Programmiersprache halbwegs drauf hatte, schrieb ich für mein eigenes Vergnügen längere Programme. Da die damals verfügbaren Programmierwerkzeuge sehr einfach und nicht für effiziente Entwicklung geeignet waren, schrieb ich zuerst mit Papier und Bleistift (oder Füllfederhalter). Ganze Programmblöcke notierte ich in mehreren Versionen auf Karopapier, strich durch, radierte aus, zerriss und zerknüllte, bevor ich irgendwann doch eine der Programmversionen eintippte, danach erwartungsvoll den RUN-Befehl zur Ausführung gab - und oft feststellte, dass das mühevoll per Hand geschriebene Programm wegen irgendeines Denkfehlers nicht funktionierte.

Programmieren war daher für mich immer Schreiben - es hatte für mich viel mehr mit dem Verfassen und Überarbeiten einer Geschichte zu tun als mit Technik oder Mathematik (was meine Lehrer:innen in der Schule sehr irritierte, denn sie setzten Programmierkenntnisse mit guten Mathefähigkeiten gleich, aber Mathe konnte ich überhaupt nicht). Ich nahm einfach das "Sprache" in "Programmiersprache" wörtlich: Wenn ich mir ein Spiel programmierte, dann erzählte ich dem Computer meine Welt, und er stellte sie mir dar, und ließ sie mich am Ende, als Spieler, betreten.

2. Weltkonstruktion, Selbstkonstruktion

Es gab in meinem intuitiven Programmieren keinen echten Unterschied zu den 'richtigen' Geschichten, die ich damals ebenfalls schrieb. Aus der beschränkten, aber nach und nach sich vorsichtig weitenden Weltwahrnehmung meines Teenager-Ichs entstanden Texte, in denen ich wohl im Wesentlichen meine Position in dieser Welt zu verorten versuchte - ob nun als Kurzgeschichte auf Papier, oder als selbstprogrammiertes Spiel.

Selbst Themen überschnitten sich. Aus einer jahrelangen Faszination für einsame Wüstenlandschaften entstanden einerseits diverse, an pubertärem Weltschmerz leidende und oft in Wüsten oder Brachländern spielende Endzeitstorys. Andererseits entwickelte ich auch eine auf einem Wüstenplaneten angesiedelte, von der Stimmung eher düstere Handelssimulation. Beide Medien - Geschichte und Spiel - drückten letztlich meine damalige Weltsicht aus, mit ihrem weiten, aber menschenleeren Setting, den einsamen Figuren, und deren in der Geschichte beschriebenen bzw. im Spiel möglichen Handlungen.

Die Konstruktivisten und Pädagogen bzw. Erziehungswissenschaftler Kersten Reich und Hans-Joachim Roth haben auf die Bedeutung des Schreibens und Lesens für die eigene Identitätsbildung hingewiesen. Beide Prozesse dienten den Schreibenden der Konstruktion ihres "Selbst, das sich als Ego und Alter, als Verdopplung erfährt, das im Moment der Entfremdung bei sich ist und sich in der Distanzierung erbaut."1. Im Schreiben differenzieren sich Ego und Alter und "begegne[n]" sich, sodass das Ich auch ohne eine andere Person in Konstruktionsprozesse gerät: "Im Schreiben", so die Autoren, "verfügt das Ich über seinen Alter, indem es ihn entwirft (konstruiert) und verwirft (dekonstruiert)"2.

Mit Reich und Roth mag man spekulieren, was hinter den genannten Geschichten- und Spielszenarien steckt - die Verarbeitung der eigenen Verlorenheit in der mitunter einsamen Welt des Erwachsenwerdens.3 Was hier jedoch interessiert, sind erstens die Ähnlichkeiten zwischen Schreiben und Programmieren, und zweitens die dann doch erkennbaren qualitativen Unterschiede zwischen beiden Prozessen.

3. Programmieren als Schreiben

Programmieren und Schreiben wurden schon häufiger zusammengedacht. Im Buch "The Mythical Man-Month" (1972) verglich dessen Verfasser Frederick P. Brooks 'den' Programmierer (offenbar wurde nur an Männer gedacht) mit Dichtern:

The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.4

Das Zitat entnehme ich der Einleitung des elektronischen Handbuchs zur Programmiersprache Inform 7, die ursprünglich 2006 veröffentlicht und im April 2022 als Open Source freigegeben wurde.5 Inform ist eine Sprache zur Entwicklung sogenannter Interactive Fiction ("Textadventures") - einem bis in die 1970er zurückreichenden Genre, das schon immer die Grenze zwischen Computerspiel und Literatur verwischte. Seit Textadventures in der kommerziellen Spielebranche keine Rolle mehr spielen, wird es vor allem als Literatur angesehen.

Inform 7 ist für den Zusammenhang von Schreiben und Programmieren besonders interessant, da es im Gegensatz zu anderen Programmiersprachen einen sehr ungewöhnlichen, natürlichsprachlichen Ansatz verfolgt. Die Programme, die am Ende die les- und spielbare interaktive Geschichte bilden, werden in alltagsnahen englischen Aussagesätzen formuliert. Mit sonst für Programmiersprachen üblichen Konstrukten kommt man nur ausnahmsweise in Kontakt. Inform 7 will damit Autor:innen fiktionaler Texte ansprechen, die sonst mit Programmierung wenig Erfahrung haben - Programmieren wirkt mit Inform 7 schon an der Oberfläche wie Schreiben, und macht schon zum Zeitpunkt des Schreibens den Anspruch deutlich, dass es um das Verfassen von Literatur geht, nicht um den technischen Akt der Softwareentwicklung.

Screenshot der Entwicklungsumgebung Inform 7
Screenshot der Entwicklungsumgebung von Inform 7, mit einem Beispielquelltext auf der linken Seite und dem daraus resultierenden, gerade ablaufenden Programm auf der rechten Seite

Was in der Entwicklungsumgebung auf der linken Seite, sozusagen im Manuskript, verfasst wird, kann auf der rechten Seite direkt ausprobiert werden. Da Interactive Fiction auf struktureller Ebene meist durch die Beschreibung von Schauplätzen ('Räumen'), Gegenständen und Figuren, sowie den logischen Beziehungen zwischen diesen Elementen dominiert wird, ist dieser Anwendungsfall gut geeignet für natürlichsprachliche Ansätze. Das im Screenshot oben sichtbare Beispiel besteht aus mehreren Räumen, die sprachlich benannt und in Relation zueinander positioniert werden:

Fort James is a room. […] Thames Street End is South of Fort James. […] Water Lane is east of Thames Street End. […] East of Water Lane is a room called Thames Street at the Wherry Bridge.

Diese einfachen Aussagesätze genügen, um eine räumliche Grundstruktur zu erzeugen, in der sich die Leser:innen (Spieler:innen) durch die beschriebene Welt bewegen können, indem sie textliche Befehle eintippen, zum Beispiel "go south", um nach Süden zu gehen. Sie vollziehen damit die (für sie vorher nicht erkennbare) Struktur der Welt an der Struktur des Textes nach6.

Die konkreten Beschreibungen der einzelnen Räume (und analog Gegenständen und Personen) werden durch die Autor:innen jeweils nach den Nennungen der Räume (Gegenständen, Personen) und ihrer Positionen eingefügt, durch Anführungszeichen umschlossen. Der Schreib- und Programmierprozess in Inform 7 besteht also darin, dass die Nennung von Orten, Gegenständen und Personen mit einer freien Beschreibbarkeit dieser Elemente Hand in Hand geht. Obwohl die Nennung der Elemente in relativ strenger Form erfolgt (x is a room; y is south of x; usw.), ist sie der sprachlichen Struktur nach dennoch an die natürliche Sprache angelehnt und damit ist der Bruch zu den Beschreibungen der Elemente wesentlich geringer - der ganze Prozess fühlt sich mehr wie Schreiben, weniger wie Programmieren an, was durchaus auf positive Resonanz stieß7. Die Beschreibungen können frei gestaltet sein, und ob ein Werk der Interactive Fiction eher als Spiel oder eher als Literatur wahrgenommen wird, entscheidet sich zu einem großen Teil hier: Denn die Beschreibungen sind der Bereich im Quelltext, wo sich die Verfasser:innen noch am ehesten als traditionelle Schrift:stellerin geben können, während sie außerhalb der Beschreibungen, trotz der natürlich erscheinenden Sprache, doch Beschränkungen bei der Formulierbarkeit unterliegen.

Inform 7 ist ein Projekt, das ganz bewusst die Grenze zwischen Schreiben und Programmieren aufbrechen will. Doch auch sonst wurden Ähnlichkeiten zwischen beiden Tätigkeiten herausgestellt. In ihrem Paper "Programming is Writing is Programming" nennen Felienne Hermans und Marlies Aldewereld für beide Tätigkeiten je sieben Schritte, die ähnlich seien, etwa Planungs-, Strukturierungs- und Überarbeitungsvorgänge.8

Den Schreib-/Kodierprozess als solchen bezeichnen Hermans und Aldewereld als Übersetzen ("Translating"). Beim Schreiben gehe es um die regelgeleitete, kontextgerechte Übersetzung abstrakter Konzepte in natürliche Sprache; beim Programmieren um die ebenfalls regelgeleitete Implementierung eines Plans in den Quelltext einer konkreten Programmiersprache. Dabei würden in beiden Fällen auch stilistische Fragen und Aspekte der Formatierung des (Quell-)texts eine Rolle spielen, teils unterschiedlich gewichtet.9

Bei allen Ähnlichkeiten wäre ein entscheidender Unterschied jedoch, dass beim Programmieren sehr schnell erkennbar sei, ob das beabsichtigte Ziel des Programmiervorgangs erreicht wurde - ob das Programm wunschgemäß funktioniert: Man führt es einfach aus, testet es, erkennt so Fehler und bessert diese aus. Beim Schreiben sei dies nicht so einfach, da man da etwa auf die Hilfe anderer Personen angewiesen sei, die Entwürfe lesen und Feedback geben könnten.10

Der Ansatz, den Hermans und Aldewereld in ihrem Paper verfolgen, erscheint recht technisch. Auch die Trennung des reinen Schreibens ("Übersetzens") von einer erst anschließenden Entscheidung für einen bestimmten Stil scheint zu streng. Schreiben und Programmieren werden als ausschließlich geplante, in klaren Schritten ablaufende und vor allem auf Textstrukturen abstellende Tätigkeiten angesehen. Dies mag ein Ideal sein, das manche Personen vielleicht auch durchhalten (müssen), etwa in einem professionellen Umfeld, wo es am Ende auch um messbare Zielerfüllung geht. Wenn am Ende ausgewertet wird, ob eine programmierte Software alle zu Beginn definierten Ziele erfüllt, oder ob ein geschriebener Text alle für die gewünschte Zielgruppe avisierten Fragestellungen verständlich und angemessen beantwortet, dann muss ein Plan zugrunde liegen. Programmiert und geschrieben werden dann nämlich Werkzeuge, die den Anwender:innen oder Leser:innen dabei helfen sollen, ein bestimmtes Problem zu lösen, und ob Software und Text sich als geeignetes Werkzeug erweisen, kann auch wirtschaftliche Relevanz für die Entwickler:innen und Autor:innen besitzen.

Doch das sind bereits Aspekte, die vom reinen Prozess der Code- und Texteingabe noch relativ weit entfernt sind. In der Phase, in der beim Programmieren und Schreiben Prozesse individueller Welt- und Selbstkonstruktion ablaufen, springt man häufig zwischen den verschiedenen Phasen des Prozesses hin und her, weicht vom aufgestellten Plan ab oder ändert während des Schreibens die zugrunde liegenden Konzepte, weil man merkt, dass es 'anders' doch besser funktioniert oder weil man eine wichtige Voraussetzung oder ein wichtiges Thema anfangs doch nicht im Blick hatte.

Diese Abweichungen passieren einfach, weil das Schreiben selbst zu Erkenntnisgewinn führen kann, der nicht nur den Weg zum Ziel verändern kann, sondern auch das Ziel selbst. Was genaugenommen für alle menschlichen, ein konkretes Ziel verfolgenden Handlungen gilt, so auch für das Programmieren. Auch in der Softwareentwicklung hat man erkannt, dass das sture Abarbeiten eines Plans, von oben nach unten (sog. Wasserfallmodell), nicht immer geeignet ist, die oft flexiblen Anforderungen einer echten Nutzungssituation abzubilden. Die Anthropologin Lucy Suchman beobachtete schon in den 1980ern Menschen, wie diese mit Planabweichungen, Fehlern und Fehlbedienungen von Technik situationsgerecht umgehen und erkannte, dass Technik zu stark an die Erfüllung eines Nutzungsplans gebunden war, den man als Nutzer:in erstmal erkennen musste. Techniknutzung scheiterte aber nicht nur, wenn Nutzer:innen die in technischen Artefakten implementierten Pläne nicht verstanden. Nutzung scheiterte auch, wenn die Pläne selbst nicht zur antizipierten Nutzungssituation passten, weil ihnen falsche oder unvollständige Annahmen zugrunde lagen.11

Solche Erkenntnise dürften mit ein Grund sein, warum seit einigen Jahren sog. Agile Methoden in der Softwareentwicklung beliebt sind. Sie erlauben es, eine zu entwickelnde Software stärker an die tatsächlichen Bedürfnisse von Nutzer:innen auszurichten sowie das Produkt den schnell wechselnden Bedingungen von Nutzungssituationen anzupassen. Verstärkte Kommunikation mit Nutzer:innen und Methoden wie Paarprogrammierung12 erkennen an, dass Software in sozialen, flexiblen Situationen entwickelt und verwendet wird.

4. Programmieren als Selbstausdruck und Konstruktion von Welt

Der entstehende Text beim Schreiben oder Quelltext beim Programmieren ist Ausdruck der Verfasser:innen. Die Art und Weise, wie für einen Schreib- oder Programmieranlass Themen ausgewählt, Ziele definiert und in Sprache umgesetzt werden, verweist auf Denk- und Strukturierungsleistungen der Autor:innen. Vom persönlichen Stil - den es auch beim Programmieren gibt - mag man auf die Personen schließen können.

Am Ende hat man sowohl beim Schreiben als auch beim Programmieren etwas erschaffen: den Text, das Programm, die beide auf eine Welt verweisen, in der diese Medien entstanden sind und wo sie eingesetzt werden; die in diesen Medien erst dargestellt wird, und angeregt durch diese Medien durch die Leser:innen und Nutzer:innen mitkonstruiert wird. In der Beobachtung der Rezeptions- oder Nutzungssituation wird das erkennbar.13

Offensichtlich ist dies bei Romanen oder bei Computerspielen, die fiktionale Welten erlebbar machen - siehe oben das Interactive-Fiction-Beispiel. Doch selbst ein langweiliger Sachtext aus der Verwaltung oder eine dort genutzte Bürosoftware sind an der sozialen Konstruktion von Welt beteiligt. Auch sie stellen für die Nutzer:innen bestimmte Aspekte einer Welt heraus und strukturieren diese, während sie andere Aspekte ausblenden. Wenn ein Programm zur Personalverwaltung nur Frauen und Männer als Geschlecht zulässt, oder ein Verwaltungstext konsequent von "der Mitarbeiter" spricht (oder ein Buch über das Programmieren stets von "he, the programmer", wie in dem Brooks-Zitat oben), dann liegen andere Weltvorstellungen zugrunde und werden in der Nutzung bzw. Rezeption fortgeschrieben, als wenn Programm bzw. Text keine binäre Geschlechtereinteilung erzwingen.

Bekannt ist auch die Kritik an sogenannter 'Künstlicher Intelligenz' (KI). Wenn etwa ein Bilderkennungssystem, das mit Machine-Learning-Methoden arbeitet, nur mit Personen weißer Hautfarbe trainiert wurde und darum Personen anderer Hautfarbe nicht erkennt (sog. racial bias), dann deshalb, weil die Personen, die die Trainingsdaten zusammengestellt oder ausgewählt sowie die Konfiguration des KI-Systems entwickelt haben, nicht die Vielfalt der echten Welt - über ihr eigenes Nahfeld hinaus - berücksichtigt haben, sei es bewusst oder unbewusst.

Die beiden Beispiele sind natürlich nicht erst beim Schreib- bzw. Kodierprozess selbst relevant, sondern liegen schon auf konzeptueller und letztlich gesellschaftlicher Ebene. Mir geht es hier nur darum, dass sie zeigen, dass Schreiben und Programmieren immer auch Selbstausdruck der Autor:innen und Entwickler:innen ist, was zu Weltkonstruktionen beiträgt oder diese anregt. Doch wie Hermans und Aldewereld richtig bemerkten, gibt es einen wesentlichen Unterschied: Das Computerprogramm kann man direkt ausprobieren und so Probleme leichter erkennen - nicht nur technische Fehler, sondern auch konzeptuelle Leerstellen und blinde Flecken.

5. Die Lust am Quelltext

Die Möglichkeit, einen Quelltext direkt ausführen und testen zu können, hat Auswirkungen auf den Prozess der Quelltexterstellung selbst. Um die Wahrnehmung dieses Prozesses im Moment der Kodierung soll es im Rest des Artikels gehen.

Das Programmieren kann, wie jeder intensive kreative Schaffensprozess, sehr vereinnahmend sein. Die Schleife aus Kodierung, Test und Korrektur kann das Gefühl von Raum und Zeit vergehen lassen. Als ich als Kind und Jugendlicher an meinen kleinen Programmen und Spielen schrieb, vergingen Tage und Nächte wie im Fluge, und das gilt auch heute noch, wenn ich selten genug einmal die Zeit zum Programmieren finde - die Neugestaltung des Über/Strom-Magazins in 2022 ist ein aktuelles Beispiel; eine Modifikation für das Computerspiel "Daggerfall Unity", an der ich seit 2021 sporadisch arbeite, ein anderes. Und ich darf gar nicht darüber nachdenken, wie viele Stunden ich von 2006 bis 2018 in mein Spiel "LambdaRogue: The Book of Stars"14 gesteckt habe.

Eine gegebene oder selbstgewählte Fragestellung programmierend zu bearbeiten, heißt, ein Problem zu lösen, im Sinne der Transformation eines unerwünschten Ausgangszustands in einen erwünschten Endzustand. Das kann sehr befriedigend sein. Während des Schreibens des Quelltexts konkretisieren sich die Vorstellungen, die den Prozess der Problemlösung leiten. Das direkte Feedback des Computers über Erfolg oder Misserfolg des programmierten Lösungsansatzes helfen, diesen zu verbessern und im Gesamtprozess voranzuschreiten.

Doch heutige Entwicklungsumgebungen unterstützen das Schreiben als solches auf eine sehr angenehme Weise - es macht Spaß, im Zusammenspiel mit einem guten Quelltexteditor an einem Programm zu arbeiten, denn schon beim Schreiben, noch vor der Ausführung des Programms, erhält man Feedback und Unterstützung.

Hervorzuheben sind hier das sog. Syntax-Highlighting, automatische Einrückungen, sowie die sog. Code Completion - alles Dinge, die es in meiner Kindheit auf meinem alten KC85 nicht gab und die ich erst Mitte der 1990er auf meinem ersten PC kennen und auch ästhetisch zu schätzen gelernt habe:

Syntax-Highlighting, Einrückungen und Code Completion sind aber nicht nur funktional. Sie sind auch nicht nur ein ästhetisches Erlebnis (weil es so schön bunt ist und man dem Quelltext in Echtzeit bei der Transformation zusehen kann). Einen Quelltext zu schreiben, der in Echtzeit eingefärbt, eingerückt und vervollständigt wird, gibt optisches Feedback über die Struktur der eigenen Denkweisen und bestätigt deren Passung zur zu lösenden Problemstellung. Im Idealfall visualisiert es die Korrektheit der Denkansätze durch sichtbare Symmetrien (Klammern, Blöcke) und farbliche 'Muster' (bestimmter Schlüsselwort-Parameter-Kombinationen), die die syntaktische und logische Korrektheit des Geschriebenen bestätigen, sowie durch passende, quasi logisch zwingende, Vervollständigungen. Und wenn es beim Denken einmal hängt, dann helfen Vorschläge dabei, wieder in Fahrt zu kommen. All dies verstärkt das der Programmierung ohnehin inhärente Flow-Gefühl und hält zumindest mich auf sehr angenehme Weise am Bildschirm, am Quelltext fest.

Screenshot eines Quelltexts in einem Quelltexteditor
Screenshot eines Quelltextausschnitts aus meinem Spiel "LambdaRogue" mit erkennbarem Syntax-Highlighting, Einrückungen und einem Vorschlag für Code Completion

Auch nach Beendigung einer konkreten Programmiersituation kann diese nachhallen. Wenn man gezwungen ist, eine Pause zu machen oder sich anderen Tätigkeiten zu widmen, aber ein Programmierproblem noch nicht gelöst hat, dann beherrscht dieses mitunter weiter das Denken. In einem Radiobeitrag über "Die Ästhetik des Quellcodes" aus dem Jahr 2012 sagte der damalige Informatik-Student Vincenz Dölle über das Programmieren:

"[Man] geht durch die Stadt und denkt die ganze Zeit in Wirklichkeit nur: Wie kriege ich dieses Problem gelöst? Man kann sich dann so ziemlich tief in so eine Scheinwelt, diese gedankliche Welt sozusagen, vergraben."15

Diese Festgehalten-werden am Quelltext ist nicht unähnlich zur "Lust am Text", die Roland Barthes einst für das Lesen beschrieb. Auch ein Buch kann uns noch Stunden, ja Tage später berühren. Ein "Text der Lust" sei laut Barthes "an eine behagliche Praxis der Lektüre"16 gebunden. So eine Praxis knüpft an Bekanntes an und verunsichert nicht. Beim Quelltext-Schreiben sind Produktion und Lektüre eins (ich schreibe, und dann lese ich das Feedback, wie das Geschriebene vom Computer aufgenommen wird), aber die Behaglichkeit bleibt, solange die Schleife aus Kodierung, Test und Korrektur nicht auf Dauer unterbrochen oder grundsätzlich in Frage gestellt wird.

Die Behaglichkeit entsteht, weil Syntax-Highlighting, Einrückungen, Code Completion und natürlich erfolgreiche Testläufe idealerweise bestätigen, dass das Geschriebene 'Sinn' ergibt, sich anknüpfen lässt an die Regeln der gewählten Programmiersprache, sich auch sauber in den bisher verfassten Quelltext einfügt und gegebenfalls auch mit von anderswo übernommenen Codeblöcken kombinieren lässt und sich so in eine über das Individuum hinausgehende Tradition einfügt. Und das bestätigt in letzter Instanz auch die Verfasser:innen in ihrer Rolle als Entwickler:innen - sie "[genießen] die Beständigkeit [ihres] Ich (das ist [ihre] Lust)"17.

6. Flow als leibliches Spüren

Diese Lust ist nicht nur ein theoretisches Konstrukt, sondern ein ganz konkretes Empfinden. Psychologisch wurde es als Flow-Erleben beschrieben. Falko Rheinberg und Regina Vollmeyer definieren Flow-Erleben wie folgt:

"Das selbstreflektionsfreie Aufgehen in einer glatt laufenden Tätigkeit, die man trotz hoher Anforderungen noch unter Kontrolle hat."18

Zu spezifischen Elementen des Flow-Erlebens gehört u.a., dass "Handlungsanforderungen und Rückmeldungen […] klar und interpretationsfrei erlebt [werden]"19, "das Geschehen gleitend wie aus einer inneren Logik"20 wahrgenommen wird, und "Selbst und Tätigkeit [verschmelzen]"21.

Wie aber lässt sich die Wahrnehmung aus Sicht des Individuums im Moment des programmierenden, versunkenen Lusterlebens beschreiben? Wie wird das "Verschmelzen von Selbst und Tätigkeit" am eigenen Leib gespürt, wie das "gleitend[e] Geschehen" der Situation wahrgenommen? Hierbei kann womöglich die Phänomenologie helfen.

Beginnen wir mit dem Zeitempfinden. In seinem Buch "Ortsverschiebungen, Zeitverschiebungen" schreibt Bernhard Waldenfals auch über zeitliche Empfindungen "[z]wischen Leere und Erfüllung". Insbesondere seine Beschreibung der "Zeit des Genießens" erinnert an Flow-Beschreibungen. Waldenfels schreibt:

"Die Zeit kreist um sich selbst wie in einem Wirbel, der jede Frage nach dem Warum und Wozu verscheucht. Das Faustische 'Verweile doch! du bist so schön!' deutet hin auf einen Augenblick, der sich aus dem Zeitfluß heraushebt, der kein Vorher und Nachher kennt und sich zu einer horizontlosen Gegenwart verdichtet. Die Zeit steht still"22

Gerade ist es noch morgens um Neun, plötzlich ist schon Kaffeezeit, und beim nächsten wankenden Gang auf die Toilette, den Blick ganz nach innen gekehrt, ist es draußen schon dunkel.

Im Begriff der "horizontlosen Gegenwart" ist aber auch die andere Seite angesprochen, nämlich der Raum, der hier jedoch - da eben "horizontlos" - nicht abzustecken ist. Mit dem Zeitempfinden kann sich in der Flow-Situation auch das Raumempfinden verändern. In der völligen Versunkenheit auf den Bildschirm, die Wahrnehmung allein auf den Quelltext gerichtet, die Hände wie automatisch über die Tastatur fliegend, wandert auch die direkte Umgebung und wandern selbst die Bedienelemente des Computers in die Peripherie der Wahrnehmung, wie ausgeblendet.

Mit einem anderen Phänomenologen, Hermann Schmitz, kann man hier von einer Ausleibung sprechen. Schmitz vertritt in seiner Neophänomenologie eine sehr strikte Unterscheidung des messbaren, biologischen Körpers vom gelebten, individuell wahrgenommenen Leib. Der Begriff Leib meint dabei kein Ding, sondern die Gesamtheit der wahrgenommenen leiblichen Regungen. Schmitz bietet ein Begriffsinventar an, um sonst schwer ausdrückbare leibliche Regungen sagbar zu machen. Von Ausleibung spricht man in diesem Sinne, wenn das eigene Leibempfinden in eine unspezifische Weite ausgedehnt erscheint. Klassische Beispiele wären der ungerichtete Blick in die Weite, eine langweilige Fahrt mit dem Zug oder Erfahrungen des 'Einsseins mit der Welt', die nicht nur religiös-mystisch induziert werden können, sondern eben auch im Rahmen eines Flow-Erlebens auftreten können. Das Empfinden für Ort und Zeit verschwindet bzw. die Wahrnehmung verbleibt in einer ort- und zeitlosen Gegenwart.23

Der Computer und der Quelltext werden in solchen Momenten kaum noch als Gegenüber empfunden. Die Beziehung zu ihnen als Objekten (in der Umwelt des Leibs) schwindet, vielmehr werden sie erst in einer Einleibung Teil des Leibs, der sich anschließend in der Ausleibung in die "horizontlose Gegenwart" weitet. Mensch und Maschine werden scheinbar eins24, die Umwelt verblasst.

Der gleichförmige, sich wiederholende Rhythmus aus Kodierung, Test und Korrektur stabilisiert diesen Zustand. Waldenfels bezeichnet die Wiederholung als "Rettung aus der Zeit"25. Die Wiederholung sei zwar auch ein Zwang (und ohne diesen Zwang "droh[e] der Rückfall ins Nichts"26, wie beim Ver-Lernen von nicht genug wiederholten Fertigkeiten). Die Wiederholung sei darüberhinaus aber auch der Versuch, etwas herauszuheben (sozusagen aus dem Fluss der Zeit) "und auf diese Weise dem Wandel [zu] entrück[en]"27. Beim Programmieren finden wir beides vereint.

Zum einen dient die Schleife aus Kodierung, Test und Korrektur der Verbesserung des Programms. Anders als etwa bei einem rein auf Selbsterkenntnis ausgerichteten Tagebucheintrag steht am Ende der Programmierung ein Produkt - ein Werkzeug für Dritte, das für deren Anwendungsfälle so gut wie möglich geeignet sein sollte. Ohne ausreichende Wiederholung bliebe dieses Werkzeug auf einer unfertigen Stufe stehen (dass genau dies in der Praxis immer wieder passiert, wenn sehr fehlerhafte Produkte veröffentlicht werden, ist ein anderes Thema) - im schlimmsten Fall nicht funktionierend, ein "Rückfall ins Nichts", den vor einigen Jahren ein Proband beim Test einer Software wie folgt ausdrückte: "Leider ist nichts möglich. [Hervor. M.D.]"28.

Zum anderen hält die Wiederholung der Schleife aus Kodierung, Test und Korrektur den Zeitpunkt der Veröffentlichung des Programm noch in der Zukunft bzw. hält die Gegenwart der Programmierung fest. Solange noch getestet und verbessert wird, muss sich das Produkt - und damit die Kompetenz der Programmierer:innen - noch nicht dem Urteil der Umwelt stellen. Solange ich noch wiederholen darf, bleibe ich versunken in meinem Konstruktionsprozess, kann das technisch unterstützte Flow-Gefühl und die Lust am Quelltext und seiner Auswirkung erleben, und meine Ausleibung in die unbestimmte Weite weiter genießen.

7. Aufwachen

Mehrfache Korrekturschleifen, immer weitere Verbesserungen, Anpassungen, Umstellungen, in der Hoffnung, zwar vielleicht nicht den perfekten, aber doch wenigstens einen grundsätzlich brauchbaren Text zu verfassen, dürften auch Autor:innen vom Schreiben kennen. Ebenso die Angst vor der Fertigstellung eines Werks, seiner Veröffentlichung und einem anschließenden Fall in ein Loch, weil die alles beherrschende Aufgabe jetzt erledigt ist und das Objekt der eigenen Lust - der Text, der Quelltext - zunächst der eigenen Verfügung entzogen ist. Der Artikel ist der Redaktion übergeben, das Buch beim Verlag "in Druck" und die Software steht zum Download oder Kauf bereit. Wie beim Aufwachen nach einem intensiven Traum gilt es, sich erstmal wiederzufinden - neu zu verorten in der Welt, die sich tage-, wochen-, monatelang um einen weitergedreht hat.

In ihrem Buch "Wer sehen will, muss spüren" beschreibt Wiebke Schwelgengräber ein ganz ähnliches Gefühl des Aufwachens, das man erleben kann, wenn eine lange Fernsehserie zu Ende geht. Dabei wäre es aber gar nicht die Serie selbst, die man vermisse, die Figuren oder die Handlung, sondern die Stimmung, in die einen diese Serie über einen vielleicht langen Zeitraum versetzt hatte und der man nun traurig nachhängt.29 Schwelgengräber weist darauf hin, dass diese Schwermut ebenfalls Lust bereiten kann. Man geht in der Melancholie auf und versetzt sich in die Erinnerung an das Abgeschlossene.

In Anlehnung an einen filmphänomenologischen Beitrag Ramón Reicherts, in dem dieser den Begriff des "suchenden Sinns" verwendet, schreibt die Autorin:

"[I]ch versuche eine Innenschau meiner leiblichen Regungen, die ich in besonderen Momenten des Schauens verspürt habe […] Ich versuche aktiv zu erspähen, zu erlauschen, zu ertasten. Mit diesem suchenden Sinn […], der sich als konzentrierter innerer suchender Blick auf meinen Leib beschreiben lässt, versuche ich eine Erinnerung an die damals gespürten Affekte heraufzubeschwören […] Im suchenden Sinn als eine Form der Einleibung zeichnet sich somit ein sinnliches Erlebnis ab."30

Wir können diese Bemerkungen vom Serienschauen lösen und auf die - durch Ende der Bearbeitung - nicht mehr auslebbare Lust am (Quell)text anwenden. Ist der Text aufgrund äußerer Zwänge (Deadlines, Verträge, finanzielle Notwendigkeiten) beendet und abgegeben, das Computerprogramm fertig und veröffentlicht, dann fehlt erst einmal etwas. Der Luxus, sich für lange Zeit voll und ganz auf einen Text einlassen zu können und dabei die ganze Welt um sich herum nicht nur vergessen zu können, sondern am Ende auch vergessen zu dürfen (denn das Verständnis der Mitmenschen für das mitunter etwas anstrengende Verhalten in so einer durch intensives Schreiben oder Kodieren geprägten Lebensphase ist bei sich 'endlich' abzeichnendem Projektende noch am größten) - dieser Luxus ist dem Alltag gewichen. Statt sich in zeit- und ortloser Ausleibung zu ergehen, die (wenn wir ehrlich sind) auch eine bequeme Form des Eskapismus sein kann, bleibt der Versuch, sich an die vergangene Stimmung zu erinnern.

Doch die Erinnerung verblasst - und am Ende gibt es nur eines, um die Lust am Text wieder zu entfachen: Schreiben. "Nach dem Buch ist vor dem Buch", sagte mir eine frühere Mitarbeiterin meines Verlags einmal, nachdem mein erstes 'richtiges' Buch ("Die Unschuld der Maschinen") veröffentlicht war. Denn nur ein neuer Text, eine neue Programmversion oder ein neues Projekt können wiederholen, was war, und erlauben erneut, sich scheinbar herauszunehmen aus dem Lauf der Zeit.

 

Externe Links und Referenzen

1 Reich, Kersten / Roth, Hans-Joachim: Lesen und Schreiben - einige Überlegungen aus konstruktivistischer Sicht. In: Balhorn, H. u.a. (Hrsg.): Betrachtungen über Sprachbetrachtungen (Deutsche Gesellschaft für Lesen und Schreiben, 9. Jahrbuch), Hannover 2000, S. 65. / Zurück zum Artikel

2 Ebd., 65f. / Zurück zum Artikel

3 Die Autoren bringen das Beispiel eines Drittklässlers, der seinen Ärger auf seine Mutter in einer zwar kindlichen, aber metaphernreichen Geschichte verarbeitet und mit dieser Geschichte letztlich eine Möglichkeit findet, mit der Mutter über seinen Ärger ins Gespräch zu kommen (ebd., 66). Entsprechende Prozesse sind beileibe nicht auf Kinder beschränkt; wer Tagebuch schreibt oder über Probleme besser in Briefform als mündlich kommunizieren kann, wird Ähnliches kennen. / Zurück zum Artikel

4 Zit. n. Nelson, Graham: Writing with Inform. / Zurück zum Artikel

5 GitHub-Projekt der aktuellen Open-Source-Version von Inform 7 [Achtung: Dieser Link führt zur Website GitHub, einem Hosting-Dienstleister für Softwarentwicklung und Versionierung. GitHub gehört seit 2018 zum Microsoft-Konzern. Bei Aufruf des Links wird Ihre IP-Adresse in die USA übertragen. Nur auf den Link klicken, wenn Sie mit so einer Übertragung einverstanden sind.] / Zurück zum Artikel

6 Vgl. Donick, Mario: Let's Play! Was wir aus Computerspielen über das Leben lernen können, Wiesbaden 2020, S. 40-43. In dem Buch zeige ich am Beispiel des Interactive-Fiction-Titels "Anchorhead" des Autors Michael Gentry, wie "wie wir durch das Lesen und Schreiben von Text schrittweise die Welt entdecken, die der Autor […] erschaffen hat." / Zurück zum Artikel

7 Vgl. Bartholomew, Daniel: A Tale of Two Languages. In: Linux Journal, 01.10.2008. Der Autor vergleicht hier das natürlichsprachliche Inform 7 mit dem Vorgänger Inform 6, der eine klassische Programmiersprache war. [Achtung: Dieser Link führt zur Website des Online-Magazins Linux Journal, das zum Unternehmen Slashdot Media mit Sitz in den USA gehört. Bei Aufruf des Links wird Ihre IP-Adresse in die USA übertragen. Nur auf den Link klicken, wenn Sie mit so einer Übertragung einverstanden sind.] / Zurück zum Artikel

8 Hermanns, Felienne / Aldewereld, Marlies: Programming is Writing is Programming. In: Programming '17: Companion to the first International Conference on the Art, Science and Engineering of Programming, April 2017, Article 33, S. 5. / Zurück zum Artikel

9 Ebd., 6ff. / Zurück zum Artikel

10 Ebd., 7. / Zurück zum Artikel

11 Suchman, Lucy: Human-Machine Reconfigurations. Plans and Situated Actions 2nd Edition. Cambridge 2007. Das ist die überarbeitete Fassung von Suchmans ursprünglich 1987 erschienener Arbeit. In meinen eigenen Arbeiten habe ich Ähnliches festgestellt, vgl. Donick, Mario: Nutzerverhalten verstehen - Softwarenutzen optimieren. Kommunikationsanalyse bei der Softwarenentwicklung. Wiesbaden 2020. / Zurück zum Artikel

12 Paarprogrammierung oder Pair Programming meint, dass zwei Programmierer:innen gemeinsam an einem Codesegment arbeiten. Eine Person schreibt, die andere Person kontrolliert und weist auf Probleme hin. / Zurück zum Artikel

13 Vgl. Donick 2020, sowie die zugrunde liegende Dissertation: Donick, Mario: "Offensichtlich weigert sich Facebook, mir darauf eine Antwort zu geben" - Strukturelle Analysen und sinnfunktionale Interpretationen zu Unsicherheit und Ordnung der Computernutzung, Hamburg 2016. / Zurück zum Artikel

14 LambdaRogue: The Book of Stars [Achtung: Die Seite ist bei WordPress.com gehostet, einem Dienst des US-Anbieters Automattic. Die Seite bindet außerdem Schriftarten von Google Fonts ein. Durch beides wird Ihre IP-Adresse beim Anlicken des Links in die USA übertragen. Nur auf den Link klicken, wenn Sie mit so einer Übertragung einverstanden sind.] / Zurück zum Artikel

15 Killer, Achim: Die Ästhetik des Quellcodes. Radiobeitrag im Deutschlandfunk, 25.02.2012 [Achtung: Der Anbieter der verlinkten Seite weist in seiner Datenschutzerklärung darauf hin, dass es zu einer Übermittlung personenbezogener Daten in Drittstaaten, einschließlich den USA, kommen kann. Nur auf den Link klicken, wenn Sie mit dieser Übertragung einverstanden sind.] / Zurück zum Artikel

16 Barthes, Roland: Die Lust am Text. Frankfurt/Main 2016, S. 22f. / Zurück zum Artikel

17 Ebd. / Zurück zum Artikel

18 Rheinberg, Falko / Vollmeyer, Regina: Flow-Erleben bei der Arbeit und in der Freizeit. In: Wegge, J. / Schmitt, K. H.: Förderung von Arbeitsmotivation und Gesundheit in Organisationen. Göttingen 2004, S. 163-180. / Zurück zum Artikel

19 Ebd. / Zurück zum Artikel

20 Ebd. / Zurück zum Artikel

21 Ebd. / Zurück zum Artikel

22 Waldenfels, Bernhard: Ortsverschiebungen, Zeitverschiebungen. Modi leibhaftiger Erfahrung. Frankfurt/Main 2016, S. 165. / Zurück zum Artikel

23 Vgl. Schmitz, Herrmann: Der Leib. Berlin / Boston 2011, S. 50ff. / Zurück zum Artikel

24 Die Idee, dass Technik zu einer Erweiterung des menschlichen Körpers würde, ist alt. In der Medientheorie sei an Marshall McLuhans Medienbegriff erinnert; in der Philosophie gibt es die Extended Mind Hypothesis, die den intensiven Umgang mit technischen Artefakten als Erweiterung des menschlichen Geistes ansieht. Vgl. Clark, Andy / Chalmers, David: The Extended Mind. In: Analysis, Volume 58, Issue 1, January 1998, S. 7-19. / Zurück zum Artikel

25 Waldenfels 2016, 176. / Zurück zum Artikel

26 Ebd. / Zurück zum Artikel

27 Ebd. / Zurück zum Artikel

28 Vgl. Donick 2016. / Zurück zum Artikel

29 Schwelgengräber, Wiebke: Wer sehen will, muss spüren. Warum uns manche Serien und Filme berühren und uns andere kaltlassen. Wiesbaden 2022, S. 121. Das Buch ist Band 4 der Über/Strom-Buchreihe. / Zurück zum Artikel

30 Ebd., 124. / Zurück zum Artikel

 

Titelbild: Pixabay / www_slon_pics

 

Feedback zum Artikel?

Sie möchten den Artikel kommentieren? Sehr gerne! Aus Datenschutzgründen gibt es jedoch keine Kommentarfunktion. Sie können uns ganz klassisch einen Leser:innen-Brief an redaktion (at) ueberstrom (punkt) net schicken. Nur wenn Sie in Ihrer Mail explizit einer Veröffentlichung Ihrer Mail zustimmen, kann diese als Kommentar unter diesem Artikel veröffentlicht werden. Kürzungen und Nichtveröffentlichung sind uns vorbehalten. Da auch beim Senden von E-Mails Daten übertragen und verarbeitet werden, lesen Sie bitte vor dem Senden einer E-Mail an uns die Datenschutzerklärung, insbesondere den Unterabschnitt "E-Mail-Versand und -Hosting".