6.5 Das Selbstexperiment in Medizin, Philosophie und Informatik

In der Medizin ist das Selbstexperiment eine eingeführte ultima-ratio-Methode. In der Philosophie kann man mit Nietzsche [162], aber auch schon mit Sokrates von dieser Methode der abgründigen Selbsterfahrung sprechen, immerhin hat Sokrates seine Grenzüberschreitungen an sich selbst mit dem Schierlingsbecher bezahlt. Dass das geisteswissenschaftliche Selbstexperiment auch in der Informatik eine zunehmend wichtige Rolle spielt, wollen wir im folgenden darlegen.

Wie schon in 6.2.1 angekündigt, hat Peter Wegner [172] im Rahmen von Überlegungen aus der theoretischen Informatik die Arbeit des Programmierens aus einer neuen Perspektive empirischer Geisteswissenschaft interpretiert. Seine Gedanken lassen sich ohne technische Details so umschreiben: Das klassische Modell des Computers wird durch eine Turing-Maschine formal erfasst. Dieses Modell eines Automaten kann aber nicht angewendet werden, wenn der Mensch mit dem Computer auf eine nicht-triviale Weise interagiert10. Dies ist etwa der Fall, sobald das Verhalten des Computers essentiell auch von den unendlichen Möglichkeiten der Interaktion mit dem Menschen abhängt [172]. Diese zunächst rein informatische Feststellung gibt aber dem Menschen, der mit dem Computer auf nicht-triviale Weise interagiert11, eine intimere Beziehung zur Maschine, als es zunächst für ein Werkzeug scheinen mag.

Diesem Phänomen wollen wir nachgehen. Philipp Ackermann hat in seiner Dissertation [3] auf das Phänomen der Denkarbeit beim Programmieren komplexer Programm-Patterns12 hingewiesen. Nach Ackermann scheint bei jenen, die noch nie ein hochkomplexes Programm geschrieben haben, das Problem der Realisierung eines solchen Programms qualitativ missverstanden zu werden. Wir haben Ackermanns jahrelange Erfahrung durch eigene Programmierarbeit im Rahmen des RUABTO-Projekts [133] bestätigt gefunden. Das Phänomen ist wie folgt:

Bei der extremen Komplexität anspruchsvoller Programmierung geht es nicht um Implementierung von vertrauten Algorithmen und dergleichen. Es geht darum, dass man eigentlich Begriffe programmiert13, also Objekte, die Eigenschaften haben, und die sich in gewissen Situationen so und so verhalten müssen. Nun könnte argumentiert werden, dass die Planung eines solchen Unternehmens grundsätzlich auf dem Papier vor-programmiert werden könnte. Dass also einem effektiven Schreiben eines solchen Programms eine gründliche Meditationsphase vorangehen sollte, mit dem Effekt, dass man danach die Programmierung als disziplinierte Ausführung bereits durchdachter Konzepte realisieren könnte.

Dies erweist sich als falsch aus zwei Gründen: Der erste ist, dass man oft erst während des Programmierens und des damit eng verbundenen Ausprobierens des Codes bemerkt, dass ein Konzept, ein Begriff, ein Objekt des Programms zwar a priori Sinn macht, dass es aber durch die Erfahrung, d.h. durch das Navigieren durch die Verhaltensweisen des Programms beim Testen vollkommen überflüssig ist. Und dies aus Gründen, die man theoretisch nicht vorausdenken konnte: Entweder, weil der Aspekt gar nicht auffiel, oder weil man nicht verstanden hatte, was für ein Verhalten man effektiv geschaffen hatte.

Der zweite ist, dass man nicht imstand ist, Begriffsbildungen abstrakt zu denken, wenn sie eine gewisse Komplexität überschreiten. Es ist hier ähnlich wie in der Mathematik (siehe 6.3.4): Man kann zwar die Elemente, die Gelenke eines komplexen Gebildes bauen und verknüpfen, das Gesamtverhalten ist aber nicht überschaubar. Man muss damit durch dessen mannigfaltige Verhaltensweisen navigieren und so Erfahrungen sammeln.

Damit rundet sich ein Bild ab, das als Selbstexperiment in der Informatik erscheint: Durch hochkomplexes Programmieren werden die eigenen Gedanken expliziert und im Test als herausgestülptes Denken erfahrbar. Der Programmierer erfährt sich auf dieser Stufe der "Kunst" als Denker im Selbstexperiment. Man ist in dieser Situation in der Tat alleingelassen mit sich und seinem Computer, seinem EncycloSpace, in dem ja die Navigation de facto stattfindet. Es gibt keine Theorie, wie ein solches Programm tatsächlich funktionieren sollte, weder mathematische Prinzipien, noch philosophische Richtlinien, noch Regeln des De-signs von Computerprogrammen.

 

ZURÜCK WEITER