Jürgen Schwarzit ^ softwaretechnik

0100 1001 0010
0011 0101 0111
1000 0001 0110

Das Ende der Objektorientierung

aktuelle Buchveröffentlichungen: Die Bibliothek
»Die Bibliothek«
Eine romantische Geschichte.
Zwischenfall auf Astros
»Zwischenfall auf Astros«
Eine Science Fiction Erzählung.

Die diesjährige Oracle Code One Konferenz, der Nachfolger der Java One Reihe, hielt ja einiges an Neuigkeiten aus der Welt rund um die Programmiersprache Java bereit. Das neue Lizenzmodell von Oracle versprach bereits im Vorfeld, dass es zu einigen Unstimmigkeiten kommen könnte. Doch der tatsächliche Paukenschlag – es gab auch Stimmen, die es einen Eklat nannten – war eine ganz besondere Überraschung: Denn den Veranstaltern ist es gelungen, den bekannten Freiburger Professor für Philosophie, Martin Heidegger, als Sprecher für eine Keynote zu gewinnen.

In seinem vielbeachteten Vortrag sprach Herr Heidegger dann auch über die Zukunft der Softwareentwicklung im allgemeinen und die objektorientierte Vorgehensweise im besonderen. Wortgewaltig, wie es von Herrn Heidegger bekannt ist, entwickelte er seinen Gedanken der Technik als Gestell in die digitale Welt von heute weiter.

Zur Situation des modernen Software Entwicklung forderte – oder vielmehr verkündete – Prof. Heidegger schließlich nichts weniger als – das Ende der Objektorientierung.

Das hatte niemand erwartet.

Herr Heidegger führte aus, dass mit der Objektorientierung die Bedeutung der betrachteten Dinge verloren gehe. Denn man reiße sie aus ihrer Umwelt, in die sie geworfen seien, und aus ihren Zusammenhängen heraus. Sie würden reduziert auf einen Kern und nur mit ein paar Attributen wieder eingekleidet. Dadurch komme es zum Entleben der erlebten Welt, und das Möglich-sein gehe verloren.

Diese Apologeten der Objektorientierung in ihrer Seinsvergessenheit kümmern sich fortan nur noch um das Seiende des Seienden, anstatt das Sein des Seienden erkennen zu wollen.

Starke Worte eines großen Denkers, über die wir ein wenig nachdenken sollten. Doch wie sind wir in diese Situation gekommen? Prof. Heidegger begann daher in seiner Keynote mit der Analyse des derzeitigen Stands der Softwaretechnik.

In der Softwareentwicklung kommt es gerade bei großen Projekten zu typischen Problemen während der Analyse der Anforderungen, der Entwicklungs- und Testzyklen sowie der Zuverlässigkeit im Betrieb. Hierfür war aus der Softwaretechnik das Paradigma der objektorientierten Programmierung hervorgebracht worden. Die Objektorientierung war angetreten, gerade diese großen Schwierigkeiten zu lösen:

Diesem Vorgehen zollt auch Prof. Heidegger Rechnung. In seinen Worten drückt er dies so aus:

Das Denken über das Denken hat sich im Abendland als "Logik" entfaltet. Der daraus hervorgehende Wissenschaftszweig gilt jetzt vielerorts [...] schon als die einzig mögliche Gestalt [...], weil ihre Ergebnisse und ihr Verfahren sogleich einen sicheren Nutzen für den Bau der technischen Welt abwerfen. [Dieser Wissenschaftszweig] beginnt daher heute in Amerika und anderswo als die eigentliche Philosophie der Zukunft die Herrschaft über den Geist zu übernehmen.[1]

Doch trotz der großen Versprechungen der Objektorientierung reden noch immer Anwender und Ingenieure, Fachbereich und Funktionäre der Technik aneinander vorbei. Projekte scheitern, weil man sich nur auf das Seiende konzentriere und dabei das Sein der involvierten Objekte vernachlässige. Wartbarkeit bleibe ein unerfüllter Traum. Herr Heidegger drückt dies so aus:

In der Weise des Erscheinens west das Subjekt [die Instanz] an, mit dem zugleich, und zwar in seiner Beziehung auf es, das Objekt anwest. Das erscheinende Subjekt ist das anwesende Wissen.[2] Die Objekte helfen uns also nicht zum Verständnis eines Systems, wir brauchen auch die Instanzen der Objekte. Die Unverborgenheit des Seienden [also der Objekte], die ihm gewährte Helle [durch das anfänglich sich lichtende Sein], verdunkelt das Licht des Seins. / Das Sein entzieht sich, indem es sich in das Seiende entbirgt. / Dergestalt beirrt das Sein, es lichtend, das Seiende mit der Irre. Das Seiende ist in die Irre ereignet, in der es das Sein umirrt und so den Irrtum [...] stiftet.[3]

Gerade das Erkennen um das Wesen und die Bedeutung der Objekte sei das Entscheidende, nicht nur, um eine gute, auch von Menschen zu nutzende Software zu erstellen, sondern insbesondere auch, um Wartbarkeit und Fehlerfreiheit, um zumindest Robustheit, Fehlertoleranz, Zuverlässigkeit, Verständlichkeit zu erreichen oder gar belegen und beweisen zu können. Dabei wird letzteres immer wichtiger, wenn Unternehmen die Tauglichkeit ihrer Softwaresysteme für notwendig eingeforderte Zertifizierungen, Betriebserlaubnisse und Risikobewertungen des Unternehmens als Ganzes nachweisen müssen.

Doch die Schwierigkeiten mit der Objektorientierung sind noch viel größer. Noch immer verwenden die Programmierer Schleifen, bedingte Anweisungen und konkrete Wertzuweisungen. Sie erfreuen sich deterministischer Zustände, die es in Wirklichkeit nicht gibt. Denn mit dem Zugriff auf eine Softwarekomponente durch einen Anwender – oder "Beobachter", wie es Herr Heidegger formulierte – komme es zu einem Zusammenbruch des entborgenen Seins der Software hin zum Seienden der Anforderungen. Diese würden erst durch die Nutzung – der "Messung" – festgelegt. Dieses Messproblem werde von der Softwaretechnik zur Tugend gemacht, doch sei es gerade Erscheinungsbild des eigenen Scheiterns und manifestiere das Ende der Objektorientierung.

Und damit zeigt sich auch die Größe des Dilemmas: Das eigentliche Sein der Software lasse sich nie ergründen, da jede Nutzung, jeder Zugriff das Sein in die Uneigentlichkeit des Seienden bringe. Der Weg zu einer Lichtung ist nicht nur weit – er erscheint auch nachweisbar unmöglich zu sein in der nicht auflösbaren Unschärfe des Urgrunds.

Für die Mehrheit der heutigen Software Engineers war dieser Vortrag geradezu ein existenzieller Weckruf – wer von der heutigen Generation der Techniker kennt noch andere Paradigmen als die Objektorientierung? Es bleibt irgendwie eine große Leere oder – wie Karl Jaspers einmal über Martin Heidegger sagte: Unter den Zeitgenossen der erregendste Denker, herrisch, zwingend, geheimnisvoll – aber dann leer loslassend.[4]

Doch so allein wollte Prof. Heidegger die Community nun doch nicht stehen lassen.

Er ließ ein wenig den hellen Schein am nihilistischen Horizont eines geradezu pragmatischen Ausblicks aufleuchten: Nach den motivierenden Akronymen der Software-Architektur wie DRY oder SOLID und so vielen mehr gibt uns dieser große Denker nun ein weiteres auf den Weg:

SEYN – software expressing your needs.

Software solle sich an den Belangen der Anwender orientieren; sie solle auf deren Bedürfnisse, auf deren Sein oder vielmehr Seyn eingehen, anstatt die Anwender zu zwingen, sich an das Seiende der Software anzupassen.

Hoffentlich vermeiden wir in Zukunft die Holzwege und vergessen nicht Martin Heideggers Motto: Wege – nicht Worte, Pardon, Bugs.

Referenzen