und Ähnlichkeiten ergeben.
So auch zwischen Software und Philosophie.
Das äußert sich z.B. auf so profane Art und Weise, wie der Tatsache, dass jemandem, der versucht, Software so gut wie möglich zu schreiben, unterstellt wird, dass seine Ansätze philosophisch sind. Es zeigt sich aber auch darin, dass genau wie die Philosophie Software sich auf absrakte Konzepten und Sachverhalten gründet. Insofern haben die die Diskussionsgegenstände der Beschreibungsmittel von Software und die Philosophie das gleiche Problem, dass sie in beiden Fällen nicht oder nur sehr schwer verständlich sind, da sie nichts mit der Erfahrungswelt des Menschen
zu tun haben.
Ein Philosoph würde jetzt wahrscheinlich vehement widersprechen. Schließlich befasst er sich z.B. mit so grundlegenden Dingen, wie dem "Sein" oder der "Zeit". Um meinen Gedanken zu verdeutlichen frage ich: "Wie fühlt sich das Sein an?" oder "Wie sieht die Zeit aus?" Die Konzepte entziehen sich einfach den menschlichen Sinnen. Nagut, es gibt ein Zeitgefühl, eine "innere Uhr" - vielleicht ist nicht alles, womit die Philosophie sich befasst, abstrakt. Aber die Begriffswelt der Philosophie ist abstrakt und zumeist nicht "begreifbar". Genauso ist es auch mit Software. Keiner weiss, wie eine UML-Klasse aussieht oder ob ein sogennanter Dependency Injection Container ein Geräusch von sich gibt, wenn er eine Abhängigkeit (von der keiner weiß, wie sie aussieht) einfügt. Durch die Nicht-Erfahrbarkeit werden sowohl Software als auch Philosophie zu abstrakten Domänen, auf die nicht die Regeln der erfahrbaren Welt angewendet werden können.
Nun ist dies jedoch nicht die einzige Beziehung von Software zu anderen Wissensgebieten. Letztens hatten wir in der Firma beim Kaffee eine Diskussion, bei der es um die Inhalte von Software ging. Und unsere gemeinsame Meinung war, dass Software im Prinzip zum überwiegenden Teil aus Kommunikation, Umwandlung, Darstelluing und anderen allgemeinen Infrastrukturfunktionen besteht und nur zu einem sehr kleinen Teil aus der eigentlichen Erfüllung einer Aufgabe - also aus der Domainlogik.
Das ist nichts neues. Aber heute hatte ich nach der Diskussion ein Bild vor meinem inneren Auge, das dem Modell glich, das hinlänglich zur Darstellung von Gehirnen genutzt wird. Also Knoten, die durch viele wirre, scheinbar systemlos angeordnete Stränge verbunden sind. Die Stränge representieren die Infrastruktur und die Knoten stellen die einzelnen durch die Infrastruktur verbundenen Domainlogiken dar. Das hat was Biologisches. Und genau wie bei einem Gehirn bekommen die Logiken (Knoten) über die Stränge Signale (Daten) zugesandt, bearbeiten sie oder werten sie nur aus und senden dann auf anderen Strängen Signale (Daten) an andere Logiken.
Auch das ist sicherlich nichts bahnbrechendes Neues. Es ist aber schon interessant, dass man zur Verdeutlichung einer abstrakten logischen Struktur Konzepte aus der Biologie (Erklärung der Natur) heranziehen kann, um sie verständlicher zu machen.
Das führt zu einer für mich spannanden Frage: Wäre es nicht interessant, die Softwarewelt eher auf ein "natürliches" als auf ein abstraktes philosophoisches Fundament zu stellen? Das hätte mehrere Vorteile:
- Damit gliche sich z.B. die Softwareentwicklung den anderen Ingenieurswissenschaften an, die ihren Fortschritt auch zum Teil aus der Nachahmung der Natur ziehen.
- Software würde verständlicher.
Letzteres ist sicherlich eine gewagte These. Zunächst müsste man bei der Interpretation der Vokabulars aus der Domäne der Software Metaphern aus der Biologie finden. Möglicherweise würde dies dazu führen, dass sich die Begrifflichkeiten der beiden Wissensgebiete sich annähern. Die Hierarchie von Konzepten, die für eine Diskussion von Software notwendig ist, könnte auf die Hierarchie biologischer Konzepte abgebildet werden. Zum Teil passiert dies ja schon, wenn man z.B. von einem Computer-"Virus" spricht. Das Finden von Biologie-Metaphern für Software könnte dazu führen, den Charakter von Software besser zu erklären.
Ich kann den Bogen auch wieder zurück zur Philosophie schlagen. Diese Woche hatten wir in der Firma eine Vortrag über Wittgenstein. Eine Kernaussage des Vortrags war, dass für Wittgenstein die Beziehungen zwischen den Dingen (er nannte sie Tatsachen) viel wichtiger waren, um die Welt zu erklären, als die Dinge selbst. Meiner Meinung nach gibt es in der akademischen Welt einen Trend, sich mehr auf die Beziehungen zwischen den Untersuchungsgegenständen zu konzentrieren. Das Ganze ist mehr als die Summe aller Teile. Auch in der Software-Welt wird dies wahrgenommen, z.B. der bereits genannte Dependency Injection Container ist ein Konstrukt, um Beziehungen (Dependencies) zu formalisieren. und auch in der Biologie (wie auch in der (Quanten-)Physik und der (Quanten-)Chemie findet eine Hinwendung dazu, wie die Dinge in Beziehung stehen, statt.
Es ist nicht die "Essenz" der Dinge, die zählt, es ist die Interaktion zwischen ihnen.
Keine Kommentare:
Kommentar veröffentlichen