Sie sind hier

Die Welt als Vorstellung oder Software

Software-Entwicklung im Jahr 2013

Die meisten in der Industrie als Informatiker tätigen Geister sind wahrscheinlich der Meinung, dass sie mit ihrer Software die Wirklichkeit modellieren. Das ist mitnichten so. Niemand erfährt die Wirklichkeit direkt und jedes Subjekt verbringt sein gesamtes Dasein in seiner eigenen Vorstellungswelt. Hinzu kommt, dass oft betriebliche Abläufe modelliert werden sollen, welche ihrerseits bereits Software sind, fixiert in Papierform oder sich wandelnd in menschlichen Gehirnen. Meistens besteht die Aufgabe darin, Vorstellungen über die Wirklichkeit, welche leidlich gut miteinander synchronisiert sind, in eine weitere Vorstellung - die Software - zu übersetzen, die auf eine Maschine übertragen werden kann.

Die Vielfalt verschiedener Vorstellungen selbst bei Annahme einer einzigen Wirklichkeit ist der tiefere Grund für die vielen unterschiedlichen Software-Lösungen für ein und dieselbe Aufgabe, die heute oft zu beobachten sind.

Sehr viel Zeit verbringen die Entwickler mit dem Synchronisieren ihrer Vorstellungen von einer guten Software-Architektur, guter Code-Qualität oder guter Wartbarkeit. Dabei legen sie kaum Wert auf objektivierbare Größen sondern mehr auf subjektives Empfinden.

Die Architekturdiskussionen drehen sich meist ausschließlich um die Statik, das heißt im Endeffekt wie die zu modellierende Wirklichkeit in Einzeldinge zerhackt werden soll, wobei die Zerhackung aufgrund des Kontinuumscharakters der Welt immer willkürlich ist, egal ob sie bereits in der Vorstellung geschieht oder erst im Software-Modell. Ein möglicher Wandel der Vorstellung wird oft gar nicht erst in Erwägung gezogen. Obwohl jedes Kind den Wandel als immanentes Prinzip der Welt erkennen kann, hat man in der Software-Branche erst in jüngerer Zeit akzeptiert, dass Wandel natürlich ist, und reagiert darauf mit neuen Wortkreationen wie „agile Entwicklung“. Dass die Welt nicht aus einzelnen Dingen besteht, sondern frühestens die Vorstellung, die in Software modelliert werden soll, führt immer wieder von Neuem zu Überraschungen beim Aufeinandertreffen des in der wirklichen Maschine ablaufenden Programms mit dem Rest der Wirklichkeit. Die beliebte Ausblendung dynamischer Gesichtspunkte während der Entwicklungsphase tut ein Übriges dazu. Die Fuzzylogik ist ein Versuch, dem Kontinuumscharakter der Welt mehr Respekt zu zollen, der aber aktuell so gut wie keine Rolle spielt. Die „agilen Methoden“ sind nichts weiter als die Erkenntnis, dass all die Modellierung und Realisierung immer zu unerwünschten Ergebnissen und Überraschungen geführt hat, sowie der Versuch, dieses Problem durch häufigen Abgleich gegen die Wirklichkeit experimentalinformatisch irgendwie in den Griff zu bekommen. Dabei fehlt es aber an der Erkenntnis, warum eigentlich der ständige Schiffbruch auftritt. Die Modellierungs- und Implementierungswerkzeuge zwingen auch bei agiler Methodik zu Modellen und Realisierungen, die von vornherein an der Wirklichkeit vorbeizielen.

Der Begriff „Wartbarkeit“ impliziert bereits, dass es ein Subjekt geben soll, dem die Wartung der Software leichtfällt. Was dem Subjekt leichtfällt, ist aber höchst subjektiv. Der eine will den Gang der Handlung lieber am Stück in Form von Spaghetti-Code verfolgen können, der andere mag es mehr, wenn nach jeder Anweisung in eine neue Methode möglichst einer anderen Klasse gesprungen wird. Einer will eine grafische Benutzeroberfläche, ein anderer schätzt die Kraft einer durchdachten Kommandosprache. Es gibt einen Haufen Fachbücher, deren Hauptzweck es ist, anderen die eigenen Vorstellungen über richtig und falsch nahezubringen, oder anders ausgedrückt: ihnen den eigenen Willen aufzuzwingen.

Hätten wir einen Automaten zur Verfügung, der auf Knopfdruck aus Anforderungen ein fehlerfreies Programm zaubern könnte, so wären die objektiven Kriterien an das Ergebnis:

  • geringe Größe
  • hohe Ausführungsgeschwindigkeit
  • geringer Resourcenbedarf

Die subjektiven Kriterien der Software-Manufakturen haben in den letzten Jahren dagegen hierzu geführt:

  • gigantischer Bedarf an Permanentspeicher zur Ablage der Software
  • kriechend langsame Programmausführung, so dass manches länger braucht als mit der Technik von vor 20 Jahren
  • gigantischer Bedarf an Hauptspeicher: 1 Million Schreibmaschinenseiten, damit ein Betriebssystem laufen kann, dass in der Lage dazu ist, weitere Programme nachzustarten

Zeitgeist

In scheinbarem Gegensatz zum Zeitgeist glaube ich wie viele andere auch, dass die Realität letztlich nicht digital, sondern analog ist. Nach dieser Ansicht ist die Welt ein echtes Kontinuum. Selbst bei noch so feiner Vergrößerung wird man keine irreduziblen Bausteine finden. Physikalische Daten sind nicht ganze, sondern reelle Zahlen - das heißt kontinuierliche Größen mit unendlich vielen Dezimalstellen. [Spektrum-MQS].

Die Zukunft ist digital. Gestalten Sie mit. [Spektrum-Rückseite]

Dies zeigt: Informatiker wollen uns eine virtuelle digitale Welt als Zukunft verkaufen, die prinzipiell anders funktionieren soll wie die darunterliegende physikalische: einfacher, für Menschen verständlicher, ohne wahre Wunder.

Wir fühlen uns trotz großer Anstrengung von den ständig wachsenden Anforderungen an unsere Auffassungsfähigkeit überfordert. Wir behelfen uns in dieser Notlage, indem wir aufgeben, alles geistig durchdringen und verstehen zu wollen, und bauen „schwarze Kästen“ ein, die wir - ähnlich wie Autos, Fernseher, Waschmaschinen - einfach durch Knopfdruck und Hebel bedienen können, ohne ihre Wirkungsweise zu verstehen. In dieser uns überfordernden Situation erscheint uns die Wirklichkeit auf die Existenz und Wirkung der vielen Werkzeuge und technischen Hilfsmittel reduziert, mit denen wir uns so reichlich umgeben haben. Unsere hochdifferenzierte und harmonisch natürliche Mitwelt wird usurpiert und dominiert durch eine von uns selbst geschaffene, bornierte, mechanistisch strukturierte und funktionierende Teilwelt. Diese Teilwelt verstellt uns den Blick auf die eigentliche Wirklichkeit und isoliert uns von ihr.
[Dürr-P&E I.]

Echte Informatiker

Ein echter Informatiker glaubt, die Welt bestehe aus eindeutig unterscheidbaren Dingen. Auch 2 Dinge, die gleich erscheinen, meint er unterscheiden zu können. Denn er glaubt, dass sie eine geheime Eigenschaft, die Kennung (Id) / Adresse / den this-Pointer in sich tragen, der völlig gleiche Dinge unterscheidbar macht. Die Dinge sind selbstverständlich so einzuteilen, wie es die menschliche Sprache vorgibt. Man braucht also nur noch das, worüber man spricht, in ein Software-Modell gießen, und die Arbeit ist fast schon erledigt. Glücklicherweise unterstützen alle Werkzeuge die geheime unsichtbare Eigenschaft und die an die Wortsprache angelehnte Zerhackung.

Bei der Zerhackung entstehen Zerhackte. Dafür gibt es unzählige Begriffe: Objekte, Artefakte, Komponenten, Entitäten, Systeme, ... Doch was sind diese eigentlich, wo sind die Unterschiede und wo findet man sie in der Welt? Hast du schon einmal eine Entität gesehen? Kein Problem: flugs werden Software-Werkzeuge gebaut, die alle diese Dinge kennen. Und die Nullen und Einsen fangen an zu leben als Objekte, Artefakte, Komponenten, ... So beginnt das Leben der menschlichen Vorstellungen in der Maschine. Und Gott schuf den Menschen zu seinem Bilde, zum Bilde Gottes schuf er ihn. Wieso sollte nicht der Mensch die Maschine nach seinem eigenen Bilde schaffen dürfen?

Auch glaubt der echte Informatiker an die Creatio ex nihilo. Das Entstehen und Vergehen aus dem Nichts wird durch Konstruktoren und Destruktoren ausgedrückt. In der Rolle des Schöpfer- und Zerstörergottes sieht er sich dabei wohl selbst. Manches Kernkraftwerk könnte heute vielleicht weltweit weniger notwendig sein, wenn echte Informatiker sich öfters bewusst gemacht hätten, dass sie mit diesen beiden Methodenarten nur etwas wandeln können, was schon immer da gewesen sein muss: die Konfiguration elektrischer Ladung in einem Speicher. Doch extra zur Abstraktion, zur Abkopplung von ungewollten Eigenschaften des Seienden, haben sie die objektorientierte Programmierung erschaffen - Verzeihung: erwandelt.

Vielleicht ist dies ja tatsächlich das, was echte Informatiker antreibt: sie wollen Gott spielen und eine Welt erschaffen, die sie endlich einmal selber verstehen können, da sie fühlen oder wissen, dass sie die physikalische Welt niemals verstehen werden. Es ist eine Flucht vor der physikalischen Wirklichkeit, bei der sie möglichst viele Menschen mitnehmen möchten. Freilich sollten die meisten Menschen die neue Welt nicht so gut verstehen wie die echten Informatiker: die Götter brauchen schließlich Normalsterbliche, über die sie herrschen können. Im Endeffekt ist die Faszination des Digitalen damit als Faszination der Macht entlarvt. Es ist eine Möglichkeit, dem Willen mehr unterzuordnen, wenn schon nicht in der physikalischen Welt, dann wenigstens in der virtuellen.

Auslese

Software unterliegt der natürlichen Auslese wie alle anderen Formen auch. Maschinen-Software ist dabei derzeit als Verlängerung des menschlichen Verstandes anzusehen, da dieser immer noch Herr über deren Auslese ist. Den menschlichen Verstand kann man sich vorstellen als einen software-artigen Zustand der Substanz, aus der die Welt besteht.

Dass Software der Auslese unterliegt ist nicht erst klar, seitdem es selbstreplizierende und selbstmodifizierende Computer-Viren gibt. Es ist seit Jahrtausenden klar, nachdem der erste intelligente Führer mit seiner an Kampfkraft weit unterlegenen Einheit eine Schlacht gegen die von einem Deppen geführte Armee gewann. Auch das Ringen zwischen Kapitalismus und Sozialismus war ein Kampf der Software, denn die darunterliegende Hardware war nicht kriegsentscheidend.

Ein weithin bekanntes Beispiel für einen antiken Quellcode zur Programmierung menschlicher Hardware zum Zwecke des Überlebens einer bestimmten Daseinsform liefert uns das alte Testament. Den Chef-Ideologen, im Besonderen den Deuteronomisten, ging es damals um die Bildung einer bestimmten Staatsform. Das Besondere an der Staatsform sollte sein, dass sie den Unterbau bilden sollte für eine andere Form, die Kaste der JHWH-Priester, um die es ihnen eigentlich ging. Es ging ihnen um sich und ihresgleichen. Eine Priesterkaste hätte ohne ein mehrfaches an Menschen, die sie versorgten, keine Macht ausüben können. Die Software sollte ausschließlich den JHWH-Priestern dienen, nicht irgendwelchen anderen Priestern.

  1. Eine Form muss zunächst einmal als solche entstehen. Dazu musste definiert werden, was in der Form ist und was außerhalb. Erst durch Unterschiede tritt eine Form sichtbar hervor.
  2. Die Form sollte eine scharfe Abgrenzung zum Rest bekommen. Ein Verschwinden durch Ineinanderfließen benachbarter Formen, ein Verschwinden durch Vermischung sollte ausgeschlossen sein.
  3. Die Form sollte sich in ihrer feindlichen Umgebung behaupten können:
    1. durch organisches Wachstum
    2. durch Hygiene
    3. durch militärische Führungsstrukturen
    4. durch Kampfkraft
    5. durch Mut und Gottvertrauen
    6. durch Legitimation der totalen Vernichtung feindlicher oder störender Formen
    7. durch Gesetze zur Vermeidung von inneren Kämpfen
  1. ...eure Vorhaut sollt ihr beschneiden. Das soll das Zeichen sein des Bundes zwischen mir und euch. [1. Mose 17] Und der Herr sprach zu Mose und Aaron: Dies ist die Ordnung für das Passa: Kein Ausländer soll davon essen. [2. Mose 12]
  2. Ich bin der Herr, euer Gott, der euch von den Völkern abgesondert hat... [3. Mose 20] Und ich schalt sie und fluchte ihnen und schlug einige Männer und packte sie bei den Haaren und beschwor sie bei Gott: „Ihr sollt eure Töchter nicht ihren Söhnen geben noch ihre Töchter für eure Söhne oder euch selbst nehmen.“ ... So reinigte ich sie von allem Ausländischen und ordnete die Ämter der Priester und Leviten, für einen jeden nach seinem Dienst, ... [Nehemia 13]
    1. Siehe, ich will dich wachsen lassen und mehren und will dich zu einer Menge von Völkern machen und will dies Land zu Eigen geben deinen Nachkommen für alle Zeit. [1. Mose 48]
    2. Und wenn der Priester das wilde Fleisch besieht, soll er ihn unrein sprechen, denn das wilde Fleisch ist unrein; es ist Aussatz. [3. Mose 13] ...dass ihr auch absondern sollt das reine Vieh vom unreinen und die unreinen Vögel von den reinen und euch nicht unrein macht an Vieh, an Vögeln und an allem, was auf Erden kriecht, das ich abgesondert habe, dass es euch unrein sei. [3. Mose 20] Und man soll das Kleid verbrennen oder das Gewebte oder Gewirkte, es sei wollen oder leinen, oder allerlei Lederwerk, woran solche Stelle ist; denn es ist fressender Aussatz und man soll es mit Feuer verbrennen. [3. Mose 13]
    3. Und wenn die Amtleute dies alles zu dem Volk geredet haben, so sollen sie Heerführer an die Spitze des Volks stellen. [5. Mose 20] Und er nahm ein paar Rinder und zerstückte sie und sandte davon in das ganze Gebiet Israels durch die Boten und ließ sagen: Wer nicht mit Saul und Samuel auszieht, mit dessen Rindern soll man ebenso tun. [1. Samuel 11]
    4. Und er musterte sie bei Besek, und die von Israel waren dreihunderttausend Mann und die Männer Judas dreißigtausend. [1. Samuel 11]
    5. Es ist ihr Schutz von ihnen gewichen, der Herr aber ist mit uns. Fürchtet euch nicht vor ihnen! [4. Mose 14]
    6. ...so sollst du die Bürger dieser Stadt erschlagen mit der Schärfe des Schwerts und an ihr den Bann vollstrecken, an allem, was darin ist, auch an ihrem Vieh, mit der Schärfe des Schwerts. [5. Mose 13]
    7. Willst du aber Sklaven und Sklavinnen haben, so sollst du sie kaufen von den Völkern, die um euch her sind, ... Aber von euren Brüdern, den Kindern Israel, soll keiner über den anderen herrschen mit Härte. [3. Mose 20] ...spricht der Herr: „Ich will mein Gesetz in ihr Herz geben und in ihren Sinn schreiben, und sie sollen mein Volk sein, und ich will ihr Gott sein.“ [Jeremia 31]

Innerhalb der Form des israelischen Volks sollte wiederum die Form der Priesterkaste scharf abgegrenzt werden ...und sollst so die Leviten absondern von den Israeliten, dass sie mir gehören. [4. Mose 8]. Genau formuliert wurden Gesetze, die deren Unterhalt sichern sollten. Und Erbbesitz sollen sie nicht haben... Sie sollen Nahrung haben vom Speisopfer, Sündopfer und Schuldopfer, und alles dem Bann verfallene in Israel soll ihnen gehören. Und das Beste von allen Früchten und die Abgaben von allem, wovon ihr Abgaben leistet, sollen den Priestern gehören. [Hesekiel 44]

Wenngleich die Staats- und Staatsgebietsformung nicht so erfolgreich verlaufen sind wie von den Ideologen geplant, wird der ersonnene Quellcode, welcher freilich nach manchem katastrophalen Testergebnis nachgebessert worden ist [Posaunen], nach tausenden Jahren immer noch zur Programmierung menschlicher Gehirne verwendet. Das Ziel eines langen Überlebens der JHWH-Priesterkaste ist letztlich erreicht worden. Dies ist der Überlieferung nach auch schon Jesus von Nazareth aufgefallen: Es ist aber leichter, dass Himmel und Erde vergehen, als dass ein Tüpfelchen vom Gesetz fällt. [Lukas 16]

verheiratet

Verheiratet oder nicht: 1 oder 0. Der Begriff ist wie ein Bit Software. Ihm entspricht in der physikalischen Welt nichts, es besteht lediglich die Hoffnung, dass ihm in den Vorstellungen der anderen Subjekte etwas entspricht, welches das eigene Wollen erfüllt. Die Wirklichkeit besteht aus dem Geschehen, wer mit wem welche Handlungen durchführt. Daran erkennt man, wer mit wem wirklich verheiratet ist.

Eigentum

Diese Assoziation ist ebenfalls reine Software. Der Begriff bedeutet: „Schau her, diese von mir abgeteilt vom Rest gedachte Menge Substanz soll meinem Willen unterliegen. Will ein Anderer sie formen, so werde ich gegen ihn kämpfen.“ Der Eigentumsbegriff ist ein Mittel, das im Konkurrenzkampf der Formen auf der Ebene der Software eingesetzt wird. Der Begriff ist ein Begriff des Kampfes.

Ja, alle Heiden will ich erschüttern. Da sollen dann kommen aller Völker Kostbarkeiten, und ich will dies Haus voll Herrlichkeit machen, spricht der Herr Zebaoth. Denn mein ist das Silber und mein ist das Gold, spricht der Herr Zebaoth. [Haggai 2]

„Geistiges Eigentum“ bedeutet, dass eine Verhaltensweise gefunden worden ist, von der geglaubt wird, dass ihre Wiederholung in Zukunft zur Erlangung der eigenen Ziele immer wieder dienlich sein kann. Einer anderen Form, die zur Erlangung ähnlicher Ziele die Verhaltensweise kopieren könnte, wird durch den Begriff signalisiert, dass sie bekämpft werden wird, sollte sie die Verhaltensweise tatsächlich selbst anwenden. Die andere Form wird sogar dann bekämpft, wenn sie unabhängig von der einen Form auf dieselbe Idee gekommen ist. Damit ist klar, dass nicht der Kopiervorgang bekämpft werden soll, sondern dass es vielmehr im Kern darum geht, der eigenen Form einen Vorteil zu verschaffen und dies auf Kosten der anderen, denen zu diesem Zweck gleich erfolgreiches Verhalten - kopiert oder nicht kopiert - verboten sein soll.