LOG IN Heft Nr. 128 (2004)

Von Dingen und Objekten



Ludwig Wittgenstein hat sich einmal polemisch gegen die Redewendung von der Tücke des Objekts gewandt. Die Tücke des Objekts sei nichts weiter als ein dummer Anthropomorphismus, denn die Wahrheit sei viel ernster als diese Fiktion. In den Dingen unserer Umwelt stecke schließlich kein Dämon, der ein Objekt zu tückischem Verhalten anrege. Vielmehr ginge es darum, die Naturgesetze und ihre Zusammenhänge zu erkennen, denen auch die Objekte unterworfen seien. Und in der Tat: Eine der wesentlichen Säulen des menschlichen Drangs, Erkenntnisse und Erfahrungen zu gewinnen, liegt seit der Antike des alten Europa in dem Ziel einer Welterklärung im Logos anstelle einer Weltdeutung im Mythos.

In unserer Gegenwart existiert allerdings ein entscheidender Unterschied zur Antike und zum Zeitalter Wittgensteins: Wir können mittlerweile ohne großen Aufwand auf Computer zurückgreifen oder genauer: auf Informatiksysteme, in denen die Objekte der Welt repräsentiert werden. Sie werden dadurch repräsentiert, dass sie in der Weise beschrieben worden sind,

dass jedes einzelne Objekt eindeutig in der Menge aller Objekte eines Systems identifiziert werden kann,

Ein Objekt, das in einem Informatiksystem repräsentiert ist, wird daher über seine Identität, seinen Zustand und sein Verhalten definiert kurz: Ein Objekt ist was, hat was und kann was!

Die Hauptarbeit, Objekte der Realität so aufzubereiten, dass sie auf ein Informatiksystem übertragen werden können, besteht natürlich darin, sie zunächst überhaupt zu erkennen, um sie dann in ein Modell der Wirklichkeit umzusetzen, das auf einem Computer ablauffähig oder sogar bearbeitbar ist. Dies ist kein Selbstzweck, sondern auf diesem Weg sollen neue Erkenntnisse gewonnen und Probleme gelöst werden. Daraus wird im Übrigen auch deutlich, inwieweit dieser Prozess von der geistigen Kapazität der Software-Entwickler abhängig ist. Denn dies setzt zwei wesentliche Fähigkeiten voraus, und zwar die Fähigkeiten des Analysierens und des Abstrahierens. Mit der Sicht auf die reale Welt in ihrer gesamten Komplexität müssen die wesentlichen Bestandteile herausgearbeitet werden, die zum Lösen eines anstehenden Problems mit dem Computer notwendig sind.

Diese Vorgehensweise ist nicht neu. Der Weg vom Problem zum Programm über die Phasen des Abstrahierens, Modellierens und Codierens gehört zu den Grundpfeilern informatischer Bildung. Neu ist dagegen die Sichtweise auf die Objekte der Realität. Denn bis vor einiger Zeit führte der Weg vom Problem zum Programm über Algorithmen auf der einen und Datenstrukturen auf der anderen Seite. Durch die Objektorientierung ist eine ganzheitliche Sichtweise eingeführt worden: Die Dinge selbst, ihre Eigenschaften und ihr Verhalten werden in Objekten und darüber hinaus in den ihnen übergeordneten Klassen zusammengefasst.

Das bedeutet wiederum, dass alle Objekte die konkrete Ausprägung d.h. Exemplar bzw. Instanz einer Klasse sind. Der Begriff Klasse ist dabei nichts anderes als ein abstrakter Oberbegriff für die Beschreibung der gemeinsamen Struktur und des gemeinsamen Verhaltens von Objekten. Die Definition einer Klasse dient dazu, die Dinge der realen Welt zu verallgemeinern. Klassen sind sozusagen die Konstruktionspläne für Objekte. So gibt es beispielsweise für das Anfertigen eines bestimmten Fahrzeugtyps entsprechende Konstruktionspläne. Doch jedes danach erzeugte Auto hat für sich genommen eine eigene Identität, und alle Autos können unabhängig voneinander betrieben werden.

Die Sichtweise der Objektorientierung bringt allerdings noch eine Reihe weiterer Vorteile mit sich, auf die im vorliegenden Heft auch näher eingegangen wird. Und sie hat Auswirkungen auf das Selbstverständnis der informatischen Bildung. Standen früher vor allem Algorithmen im Zentrum des Informatikunterrichts, so besteht durch die Orientierung auf Objekte nunmehr nahezu ein Zwang, sich mit dem Modellieren dieser Objekte zu beschäftigen. Das bedeutet aber nicht, dass die Umsetzung in ein ablauffähiges Programm im Unterricht vernachlässigt werden darf. So sollen auch im vorliegenden Heft Antworten darauf gegeben werden, wie die Inhalte eines modernen Informatikunterrichts gestaltet werden können.

Sicherlich bleiben auch noch einige Fragen offen, beispielsweise welche Software-Werkzeuge die notwendigen Lernprozesse längerfristig gesehen tatsächlich unterstützen, oder wo in diesem Zusammenhang andere Konzepte des Programmierens z. | B. das deklarative oder das funktionale ihren Ort besitzen. Und es muss weiterhin darüber nachgedacht werden, ob schon von der ersten Stunde an in die objektorientierte Sichtweise eingeführt werden sollte.

Wie immer, wenn es um die Konstruktion von Informatiksystemen geht, kann deshalb hier nur eine Zwischenbilanz gezogen werden.

Bernhard Koerber