In der objektorientierten Art zu programmieren gibt es zwischen Klassen die Beziehung “ist ein”. Diese Beziehung wird in Krüger’s Handbuch der Javaprogrammierung anhand eines Beispiels im Umfeld von Automobilien erklärt: Ein Cabrio ist ein Auto. So entsteht eine Vererbungshierachie – die Klasse “Auto” steht in dieser Hierarchie höher als die Klasse “Cabrio”, technische Details sind in Kapitel 9 nachzulesen.
Und was ist ein Auto? Als Philosophie-Interessierter kennt man die Möglichkeiten unendlicher Fragerei. Ich kann mich leider nicht mehr an die Quelle folgender Geschichte erinnern: Ein westlicher Geistlicher fragt einen indischen Guru, wie die Welt beschaffen sei. “Nun”, sagt der, “die Welt wird von einer Schildkröte getragen.”
Geistlicher: Und was ist unter der Schildkröte?
Guru: Ein weisser Elefant.
Geistlicher: Und unter dem Elefanten?
Guru: Na, wieder ein weisser Elefant.
Geistlicher: Und was ist unter d i e s e m Elefanten? (Der Geistliche denkt, dass der den Guru jetzt intellektuell ‘drankriegt)
Guru: Sie können ganz beruhigt sein. Es sind lauter weisse Elefanten – bis ganz unten hin.
So ein “ganz unten” ist oft gern gesehen, ob als Weltfundament oder als Möglichkeit, die Welt aus den Angeln zu heben. Java beantwortet die Frage profan: In der Hierarchie ganz oben steht die Klasse “Object”.
Objektorientierung ist gut und schön. Aber oft interessiert mich die Vererbungshierachie gar nicht. Wenn ich ein Objekt vor mir habe, dann will ich meistens wissen, was “es kann”, was “es tut”, was es mir “bietet”. Und ich frage nach dem, was passiert, wenn ich ein Objekt dieser Klasse so-und-so nutze. Kurz: Mich interessiert das Verhalten eines Objekts.
Sprung in die Arbeitswelt: Heute wurde ich mit einer mir neuen extrem bizarren, komplizierten Fachanwendung konfrontiert. Voll von Wenns und Abers und Regeln, die mir willkürlich erscheinen. Zudem scheinen diese Regeln willkürlichen Änderungen unterworfen zu sein. Systematisieren lassen sich die Regeln nicht, und die Anwendung/ der bisherige Programmierer tut sein bestes, alles unter einen Hut zu bringen. Aber die Anwender sind nie zufrieden. Wie einfach ist ein Passwort-Generator!
Die schlichte Eleganz von Java-Konzepten, die Einfachheit des Passwort-Generators und die Kompliziertheit der Fachanwendung, für die ich bald verantwortlich sein werde, brachten mich auf folgenden Gedanken: Auf die Frage nach dem Wesen des Menschen könnte man Verhalten als den Archimedischen Punkt benutzen – “Behaviorismus” wäre wohl ein passender Name für diesen Ansatz … gibt es schon ;)
Was kann man zum menschlichen Verhalten im allgemeinen sagen? Der Mensch stoffwechselt und stirbt irgendwann, frei nach dem Motto “man muss nur sterben und auf’s Klo”. Und sonst? Natürlich noch so viel, dass es Bibliotheken füllt. Aber das geht immer damit einher, vom Bereich der Biologie in den der Kultur zu wechseln.
Programmieren gehört in den Bereich Natur und Technik. Hier “funktioniert” Programmierung – es ist sinnvoll, nach einem Programm zu suchen. Sobald man diesen Bereich verläßt, wird es müssig, nach einer immer gültigen Form zu suchen, denn diese Form gibt es nicht. Und ich muss sagen: Zum Glück. Solange Anforderungen kompliziert sind und sich ändern, so lange habe ich Arbeit. Schön zu wissen, dass diese Sisyphos-Arbeit in der besten aller Welten stattfindet.
Ohne gesucht zu haben fand ich einen interessanten Artikel und ein Online-Buch, das mir lesenswert scheint.