Zurück zum Blog

Bloggersprache: Iiiiiiiiiih – Deutsch?
Bloggergrund: hä? Kernel-Programmierung?
Bloggergeschichte
- Die Macht der Worte
- KISS – keep it simple and stupid
- Schlagworte
- Daten-Kernel, nein danke
- Facade
- Nihil novi sub sole
- Exoskelett
- Endoskelett
- Definition der Information

Bloggersprache: Iiiiiiiiiih - Deutsch?

Warum ich den Blog nicht in Englisch schreibe?

Erster Grund: Ich beherrsche leider kein „impeccable English“, Präpositionen sind mir ein Gräuel, was keineswegs heißt, dass ich beim Rest nicht auch „typisch“ deutsche Fehler mache: „If“ statt „when“ or „whether“ ist meine Spezialität (ein Beispiel: die Informations-Mathematik-Texte von 1999, www.infomath.de). Außerdem habe ich schon in Deutsch genügend Probleme, mich verständlich zu machen: Murphys Gesetz nutzt jede Schwäche (alte Programmiererweisheit) – oder mit anderen Worten: muss ja nicht sein, sich das Leben unnütz schwer zu machen.

Ein weiterer Grund?

Eine trockene Bemerkung von Christian Ullenboom: „Interessanterweise wurde danach der LZW-Algorithmus von der Sperry Company patentiert - dies zeigt eigentlich, wie unsinnig das Patentrecht in den USA ist.“ (Quelle 28.04.2004: „Java ist auch eine Insel“ (3. Aufl.), Fußnote 1 zu Kap. 12.10, ISBN 3-89842-365-4).

Die Betonung in diesem Zitat liegt auf „danach“. Nach deutschem Recht ist das, was veröffentlicht ist, „Stand der Technik“ und deshalb weder patentierfähig noch für eine Doktorarbeit verwendbar, aber „Pecunia non olet“ sagt der Amerikaner, „Bene vixit, qui bene latuit“ (heimlich, still und leise währt am längsten) dagegen das deutsche Landvolk und erschwert den cleveren Rechercheprogrammen ihre Arbeit durch einfaches Tarnen und Täuschen – Fremdsprachen!

Ceterum Censeo: Wissen darf keine Grenzen haben, sonst kann es nicht wachsen.

Wissen muss verbreitet werden oder wie schon Laotse sage: „Dinge wahrzunehmen ist der Keim der Intelligenz“ – da ist keine Rede von Patentzahlungen, oder? Nun ja, vielleicht hätte Laotse ja geschwiegen, wenn er gewusst hätte, dass er vielleicht einmal fremde Lizenzen auf seine eigenen Gene akzeptieren müsste.

Ein weiterer Grund?

„Du musst es in Englisch schreiben, wenn du ein Profi sein willst“, sagte mir mal ein amerikanophiler, österreichischer Bekannter.

Hüstel. Ich bin wohl so was wie ein Naysayer. Man kann mich mit vielem zu vielem bewegen, doch wer zu mir sagt „du musst“ erreicht häufig nur eines. Profis tun etwas, also muss ich das auch tun?

Profis haben die LKW-Maut zum neuen „Markenzeichen“ deutscher Wertarbeit gemacht, Profis haben Enrons Tausende von Mitarbeitern auf die Straße gesetzt, Profis sind zufrieden mit Best Practices und damit, dass Information nicht rational erklärbar ist, weil offenbar gilt: „Information ist unbeschadet Ihrer materiellen Erscheinungsformen von symbolischem Wesen.... Das ist ein eigenes tiefes Rätsel.“ Profis wollen die Besten in ihrem Fach sein, die „Krone der Schöpfung“ und damit in ihrer Bewusstheit einmalig und unerklärlich, physikalisch-evolutionär nicht wirklich fassbar - und ziehen damit viel zu oft die „Interpretation“ der Nachvollziehbarkeit vor. Nachvollziehbarkeit macht kontrollierbar und wer will denn schon kontrolliert werden? Superman sein ist eben Jedermanns Traum aus alten Tagen, als Helden noch Helden waren...

Mein Traum ist das nicht: Ich will eine Erklärung haben, warum Best Practices funktionieren, warum Lösungen für ein spezielles Problem dazu tendieren, sich zu ähneln, warum aus Molekülen im Weltraum menschlicher Geist erwachsen kann, akzeptiere nicht, „glauben“ zu müssen an die Esoterik menschlicher Geisthaftigkeit, die abracadabra in die Neuronenbahnen gezaubert wird. Das Universum soll überwiegend aus dunkler Energie und Materie bestehen, die bisher noch nicht mal ansatzweise verstanden ist. Würde nur ein Physiker auf die Idee kommen, deshalb „glauben“ zu wollen, dass es eben „Dinge zwischen Himmel und Erde“ blablabla?

“Nihil tam difficile est, quin quaerendo investigari possit”, wie der Physiker sagt, nix mit “abracadabra”.

Warum also soll ich daran glauben, dass „in unsern menschlichen Köpfen eben eine eigenständige symbolische Welt“ existiert? Symbolisch sicher, wenn man „symbolisch“ als eine Reduktion von Eigenschaftsvielfalt auf eine charakteristische Stellvertreter-Eigenschaft sieht, doch „eigenständig“? Wenn diese Welt so „eigenständig“ wäre, wie „zuverlässig“ wäre sie dann? Oder mit anderen Worten: Wozu sollte die Natur ein Fantasia-Land in unserem Kopf evolutionär unterstützen?

Ich ziehe da lieber die Einstellung des jungen Albert Einstein im Patentamt vor, der seinerzeit wohl auch nicht gerade als „Profi“ galt. Andererseits muss er soviel Widersprüchlichkeiten in den ihm vorgelegten Patenten gesehen haben, dass er vielleicht gar nicht anders konnte, als die losen Enden zusammenzuknüpfen.

Denn alles hat seine Zeit. Laborbedingungen und professionelle Vertiefung dort, wo die physikalischen Grundlagen bekannt sind, und aufmerksame Beobachtung, ohne (!) Vorurteile, aller natürlich-physikalischen Gegebenheiten dort, wo sie eben nicht bekannt sind, denn der große Vorteil der Physik ist, nicht glauben zu müssen, sondern wissen und verstehen zu dürfen. Und dort, wo das Verständnis noch fehlt, muss Information gesammelt werden: es muss beobachtet, beobachtet, beobachtet werden...

Laotse: „Dinge wahrzunehmen ist der Keim der Intelligenz“

- wie bei der dunklen Materie und bei der Information.

Max Planck Gesellschaft, Pressemitteilung v. 19.12.2003: „Große Fortschritte werden dabei oft erst dann erzielt, wenn Wissenschaftler, nur ihrer Intuition folgend, beharrlich versuchen, ihre Modellvorstellung durch Experimente zu bestätigen, auch wenn sie dabei im Widerspruch zu etablierten Denkweisen stehen“

Lange Rede, kurzer Sinn: Wenn „Profi“ sein immer öfter heißt, dass Schein mehr ist als Sein, dass es wichtiger ist, rhetorisch perfektes Englisch zu reden als ein gutes Produkt abzuliefern, weil Supermann schon noch rechtzeitig einen Sündenbock finden wird, weil es wichtiger ist, wie man redet als was man redet – dann muss ich kein „Profi“ mehr sein und nicht in Englisch schreiben. Immerhin sind viele wichtige Dokumente unserer Menschheitsgeschichte in Deutsch geschrieben.

Zurück zum Anfang

Bloggergrund: hä? Kernel-Programmierung?

Vorab – Kernel ist hier gemeint im allgemeinen Sinn.

„The kernel is the essential center of a computer operating system, the core that provides basic services for all other parts of the operating system. A synonym is nucleus ... Typically, a kernel (or any comparable center of an operating system) includes an interrupt handler ... a scheduler ... and a supervisor“. (Quelle 26.02.2004)

Ich habe hier „Betriebssystem“ nur ein bisschen umdefiniert hinsichtlich der Ebene, auf der mein „Kernel“ funktioniert als das „System für den Betrieb von Datenbankaufgaben“ - mehr eine „private“ Definition, die jedoch recht genau beschreibt, was ich mir vorstelle und die wegen des „allgemeinen“ Charakters des Begriffs kein Patent- oder Markenrecht berührt.

Denn solche Rechtsprobleme sind mit ein Hauptgrund für diesen Blog: zu demonstrieren, dass Lösungen reichlich unabhängig von spezifischem (!) fremdem Gedankengut nur aus der Erfahrung der lösenden Personen heraus mit einem bestimmten Werkzeugtyp und dem spezifischen (!) Problembereich resultieren oder mit anderen Worten: dass der Problembereich weitaus stärkeren Einfluss auf die Lösung hat als die „eigenständige symbolische Welt im Kopf“ irgendwelcher menschlicher Löser. Information ist physikalisch und Informationsverarbeitung damit keinesfalls Interpretationssache. Woher dann die Interpretation kommt? Aus dem Lernvorgang, nicht aus der zu lernenden Materie.

IInformation ist dabei wirklich alles, was an regelmäßiger identifizierbarer (messbarer) Wirkung existiert. Deshalb ist auch jedes Regelungssystem immer und überall Informationsverarbeitung und unterliegt der Physik der Information. Auch die Justiz.

Und sicher ist Justiz nötig, um Rechte zu schützen – die Justiz vertritt, wie schon der Name historisch verspricht, immer noch den geheimen Wunsch der Menschheit nach Gerechtigkeit. Doch während Justitia zuerst noch mit Mathematik den Gordischen Knoten menschlicher Interessen zu lösen versuchte, (sehr schön an dem lateinischen Spruch „Iustitia est constans et perpetua voluntas ius suum cuique tribuendi“ zu erkennen,) ergab auch sie sich am Ende den Gesetzen der Macht. Ist wohl einfacher, als das unbestechlichste und objektivste (und der physikalischen Natur der Information am besten angepasste) aller Werkzeuge, die Mathematik, anzuwenden, bei dem oft genug die Grenzen zu eng gesteckt sind für die neuen Aufgaben. Verstehe ich ja auch - bei den Problemen, die ich schon mit der Darstellung von HTML-Seiten habe!

Justitia erhielt also ihre Augenbinden und zwar genau zu der Zeit, als die „Weisheit einzelner Schriftgelehrter“ wie König Salomon als Entscheidungskriterium herangezogen wurde statt der Nachvollziehbarkeit der mathematischen Methoden der „Waagschalen“. Erinnert schon ein bisschen an „das symbolische Rätsel Information“ oder „Interpretation“ vor „Kontrollierbarkeit“, huh?

Das Problem dabei? Gerechtigkeit ist soziale Gesundheit und deshalb niemals nur für ein einziges Mitglied gültig, egal wie reich und mächtig, und längst nicht mehr von einem einzigen Mitglied überhaupt überschaubar, nicht einmal von König Salomon. Da half am Ende nur rohe Gewalt: Alexander, der den Gordischen Knoten einfach durchschnitt, ohne Rücksicht auf die Folgen, ohne auch nur einen Gedanken an die „Kräfte“ zu verschwenden, die von den Fäden des Gordischen Knotens gezähmt worden waren.

Justitia als personenunabhängiges Regelungssystem innerhalb des Organismus „Gesellschaft“ zu implantieren, ist deshalb eine echt gute Idee, hat viel mit meinem Kernel-Konzept gemein. Vielleicht ist mir auch deshalb die Problematik der Wandelbarkeit so besonders bewusst: Das Regelungssystem muss sich natürlich der Entwicklung des Organismus anpassen. Mir scheint freilich, als wäre das juristische Regelungssystem längst nicht mehr Bestandteil des Organismus „Gesellschaft“, schlicht und einfach deshalb, weil der normale menschliche Bestandteil der Gesellschaft schon lange nicht mehr auf dem Laufenden ist. Viel zu schnell ändert sich die Gesetzgebung, als dass irgendeine Person noch den aktuellen Stand der gesamten Gesetzgebung beherrschen könnte. Nicht einmal die „Profis“, die Rechtsanwälte und Beamten, sind dazu in der Lage, wie könnte es dann jemand sein, der nebenbei noch etwas anderes zu tun hat als 8 Stunden am Tag, 5 Tage in der Woche und >4 Wochen im Monat das Recht und seine Neuerungen zu durchforsten?

Aber schuld bist du eben doch. Wo bleibt eigentlich die alte Erkenntnis der Lateiner „Nec scire fas est omnia“ (Keiner kann alles wissen) oder gar „Ultra posse nemo obligatur“ (Niemand ist verpflichtet, ihm Unmögliches zu leisten)?

Infinity kills Information – IKI: Zuviel ist ungesund. Zuviel Informationsverarbeitung vernichtet Information nur. Das gilt auch für das Gesetz, einfach aus dem Grund, dass Otto Normalverbraucher und Lieschen Müller nicht mehr das Geld und die Zeit haben, ihr ihnen „eigentlich“ zustehendes Recht überhaupt zu kennen. Und das dürfte schließlich die Grundvoraussetzung dafür sein, es in Anspruch zu nehmen. Und wer die eigenen Rechte nicht kennt, kennt wohl kaum die Rechte anderer – und schwupps! Hast du fremde Rechte verletzt und noch nicht mal einen Vorteil davon!

Außer Ärger!

So richtig deutlich ist mir das nicht nur geworden nach den vielen kleinen juristischen Schäden, die sich so im Laufe eines Lebens nur deshalb anhäufen, weil du nicht genügend Geld und Erfahrung hast, dir dein Recht zu kaufen, sondern gerade jetzt, als ich mir Gedanken über diesen Blog machte und die vielen guten Ratschläge über Impressum und Disclaimer las.

Die Quintessenz der Texte? Als „Niemand“ bist du doch hoffnungslos den „Profis“ ausgeliefert, die tun und lassen können, was sie wollen. Rechtens? Wen interessiert das denn, wenn du es nicht weißt? „Wo kein Kläger, da kein Richter, wo kein Richter, da kein Henker“. Da kann man viel von dir verlangen an Geldstrafen via Gerichtsurteil, weil du dich nicht adäquat wehren kannst. Deine Rechte? Interessieren auch keinen, weil du nicht das Geld hast, sie überhaupt zu finden, geschweige denn zu verteidigen.

Oder mit anderen Worten: Du kannst dir soviel Mühe geben wie du willst, keines anderen Rechte zu verletzen, es ist schon längst gar nicht mehr möglich für dich. Das Einzige, was du tun kannst, ist so offen und ehrlich wie möglich zu sein und die anderen zu behandeln, wie du selbst behandelt werden willst. Damit dürftest du wenigstens die „große Richtung“ der Gesetzgebung getroffen haben, wenigstens solange du noch in einer Demokratie lebst. Und genau das versuchte ich im Disclaimer auch darzustellen. Genau deshalb ziehe ich inzwischen Sprichworte, Zitate alter Herren und lateinische Sprüche vor (kein Urheberschutz) oder Textstellen aus Spektrum der Wissenschaft (weil ich dort bereits eine Genehmigung zum Zitieren bekommen habe unter den üblichen Bedingungen vollständiger Quellenangaben).

Nun, mit dem Problem beschäftigte ich mich schon einmal, 1999.

Damals hatte ich meinen ersten, vernünftigen Kernel lauffähig gemacht, als mir in der aufkeimenden Patentierungswut klar wurde, dass es absolut im Bereich des Möglichen war, dass mir meine eigenen Ideen teuer verkauft werden konnten.

Ist drin! Klar, in Deutschland können/konnten zu der Zeit noch keine Algorithmen und Methoden patentiert werden, wie sagte mir freilich der Patent-Berater? „Große, kapitalkräftige Firmen mit Rechtsabteilungen, die auf Patente spezialisiert sind, können das auch in Deutschland“. Für mich war dieser Weg aber keinesfalls gangbar. Nicht nur waren die Recherchen und die Eintragung als Patent zu teuer, nein, das Ganze musste ja auch noch „geschützt“ werden oder mit anderen Worten: Du musst noch teuer dafür bezahlen, dass Patentrechtsverletzungen auch erkannt und geahndet werden. Und wieder: Große kapitalkräftige Firmen..., du aber nicht.

Es gab nur den einen Weg: meine Ideen zu veröffentlichen. Dann schützte mich das deutsche Urheberrecht und zwar recht kostengünstig. Die Ideen konnten dann nicht mehr patentiert werden und damit waren zwei Fliegen mit einer Klappe geschlagen: Erstens konnte mich niemand von der Anwendung meiner eigenen Arbeit abhalten und zweitens konnten alle anderen, die es wollten, noch davon partizipieren und sie weiterentwickeln.

Die Idee des Open Source war mir deshalb sofort sympathisch, als ich zum ersten Mal mit ihr in Kontakt kam. Ja sicher, Open Source ist nicht erst ein paar Jahre alt, doch ehrlich: Im allgemeinen Software-Leben ist sie noch nicht so lange wohlbekannt.

Mein Kernel-Konzept als Open-Source-Projekt zu gestalten, war also eher eine „natürliche“ Konsequenz, aber leider, leider...

So einfach ist auch das nicht. Wie alles im Umfeld der Informationsverarbeitung brauchst du einen Zugang und der war für angestellte ERP-Programmierer keinesfalls offensichtlich.

In Netzen zu arbeiten ist ja gut und schön, wenn du erst Insider bist, doch als alter Hase eines Netzes in ein anderes herüber zu springen, geht nicht: Denn genau das, was dich zum alten Hasen macht, Kenntnis der Materie, der Personen, der Beziehungen – fehlt dir ja in der neuen Umgebung.

Und das ist der zweite Grund für diesen Blog:

Die „offene“ Entwicklung eines Kernel-Konzepts von Grund auf: Von der Analyse der Problemstellung ausgehend von den verbalen Vorgaben der Auftraggeber zu einem ersten logischen Grobkonzept mithilfe der ML-Methode über ein UML-Modell zum lauffähigen Programm a la „Model Driven Architecture“ unter Ausnutzung von Kernel-Strukturen – und das alles noch maschinell so weitgehend unterstützt, dass die „eigenständige symbolische Welt im Kopf des Lösers“ nicht mehr ganz so gefragt ist. Warum das überhaupt wünschenswert ist? Weil alle Menschen wissen, warum der Spruch von Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650, pure Ironie ist: „Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.“

Ein solches Projekt muss immer ausreichend dokumentiert werden, warum also nicht als Tagebuch auf dem Internet?

Und ganz nebenbei tritt dann noch Grund 1 in Kraft: zu zeigen, dass „Nicht-Profis“ genau diesselben Ideen haben können wie Profis und dass es keinesfalls Ideenklau sein muss, wenn zwei dasselbe denken, die sich mit demselben Problem beschäftigen.

Denn die Rechte der einen zu schützen, darf niemals die Rechte der anderen verletzen – ich denke, dieser Grundsatz der Gerechtigkeit ist längst überfällig und muss endlich auch mal wieder erwähnt werden. Wenn jemand fremde Ideen klaut, tut er/sie Unrecht – aber wenn jemand aus eigener Erfahrung heraus Ideen entwickelt, weil er/sie sich generell mit der Materie beschäftigte und am spezifischen Problem einfach eine Lösung benötigte, dann wird ihr/sein Recht verletzt, wenn ihr/ihm die Verwendung der eigenen Ideen nicht zugestanden wird.

Genau das ist die Basis des deutschen Urheberrechtes und der (bisherigen) Unmöglichkeit, Ideen und Methoden zu patentieren: Ideen zu schützen, ohne sie zu verhindern.

Und so muss es auch bleiben.

Zurück zum Anfang

Bloggergeschichte

In principio erat verbum: Vor einigen Millionen Jahren erfand die Menschheit die Sprache und war damit in der Lage, den Scheitelpunkt der Zugewinnfunktion der Intelligenz noch ein Stück nach oben zu schieben. Der Zugewinn an Intelligenz war deshalb immer noch mit einem Zugewinn an (Prognose-)Effektivität verbunden und machte die Menschheit damit zum erfolgreichsten Säugetier der gesamten, schönen blauen Erde und sogar fähig, sich mit Riesenkometen zu messen – hinsichtlich der Fähigkeit, andere Rassen zum Aussterben zu verurteilen.

Das ist ein bisschen zuviel Historie?

Ok. Also vor ca. 10.000 Jahren zwang die neue Technologie der Landwirtschaft die Menschen zu neuen Methoden der Messung zur Unterstützung von Planung und Kontrolle: zur Mathematik.

Auch zuviel?

Überspringen wir also die Renaissance, den Aufschwung der Naturwissenschaften und den Eintritt der Neuzeit bis direkt hin zu meinem ersten Kontakt mit Computern.

Ja, das muss sein, denn es scheint mir, als erklärte die Art und Weise, wie ich in Kontakt zu diesem Gerät kam, den Unterschied zu den meisten anderen Programmierern, die ich und du vielleicht kennen.

Warum? Weil die meisten anderen privat in den ersten Kontakt dazu traten, auf einer Basis von Spiel und Hobby, ich aber lernte es kennen im reifen Alter der Erwachsenenjahre mit den einführenden Lehrgängen der IBM® über Strukturierte und Normierte Programmierung. Ich verliebte mich aus dem Stand in dieses wohlgeordnete Konstruktionsprinzip und war seither nicht mehr in der Lage, Programmierung unter einem anderen Gesichtspunkt zu sehen als ein zu konstruierendes Produkt, das einen Zweck zu erfüllen hat. Je besser und sauberer du es konstruierst, umso eher tut es, was es soll und umso weniger Ärger wird es dir bereiten.

Jetzt dämmert’s, wie? Das ist eine völlig untypische Sichtweise in der Informations-Branche, nur auf den Hochglanz-Broschüren zu finden, huh? Quick&dirty bringt die Kohle, duck&run, sobald du kassiert hast – LKW-Maut ohne Rückerstattung der Millionen an Beraterhonoraren? Interessante Assoziationskette...

Mein erster professioneller Kollege damals schüttelte auch den Kopf über meine idiotischen Vorstellungen und meinte, so würde ich mich kaum unersetzlich machen, wenn meine Programmierung von anderen verstanden werden könnte – und wenn ich nicht unersetzlich sei, wie sollte ich dann in den Gehaltsverhandlungen auftrumpfen können?

Nach dem Studium, nicht Informatik wohlgemerkt, hatte ich kollegenmäßig mehr Glück – ich durfte auch recht bald eine neunstufige Preisfindung für diverse Gruppierungen von Kunden und Teile und deren Stellvertretern für eine ERP-Software aus dem unteren SAP® -Segment ganz neu erstellen – heutzutage unvorstellbar, nicht wahr? Jungspund, knappe 2 Jahre Berufserfahrung und alleinverantwortlich für ein nicht unerhebliches Stück der Firmensoftware? Ehrlich, kam mir damals gar nicht so abwegig vor, war irgendwie ganz normal.

Zurück zum Anfang

Die Macht der Worte

Damals lernte ich meine erste wichtige Erfahrung: sauber jede Anforderung in Worten darzustellen ist die halbe Miete. Ich schrieb es nämlich seinerzeit nur auf, um mich mit meinem Chef abzustimmen, ich war ja schließlich noch nicht der tolle allwissende Profi, sondern eben erst ein Jungspund. Und ja klar, du junger Programmierer, du bist natürlich schon ein alter Hase, weil du „Hello World“ in einer Skriptsprache geschrieben hast, doch in der ERP braucht’s eben immer ein bisschen länger.

Beim Schreiben nun fiel mir auf, dass die Ordnung des Informationsflusses sehr wohl bereits in der Ordnung des Wortes zu finden war, keineswegs abwegig für Leute, die Richard Festers „Sprache der Eiszeit“ gelesen haben (Herbig Verlag, ISBN 3-7766-0980-X). Beim Diskutieren mit meinem Chef fiel mir dann weiter auf, dass eine schriftliche Fassung wirklich Vorteile hat – ist klarer und präziser und hilft definitiv, Missverständnisse zu vermeiden. Seit damals tue ich das brav vor und während eines jeden Projekts: verbal dokumentieren.

Zurück zum Anfang

KISS – keep it simple and stupid

Die nächste Erfahrung war fast noch einschneidender. Nach der Preisfindung folgte eine mehrdimensionale Konditionenfindung mit 9 Stufen, parallel oder alternativ, 3 Kundenhierarchien + deren Gruppen und diversen Kombinationen mit Teilen und Teilegruppen. Warum ich das so genau darstelle? Um ein Gefühl dafür zu geben, wie viele Datenkompositionen von dem System verdaut werden konnten.

Ganz korrekt verdaut werden konnten, ich teste meine Arbeit besser als die meisten professionellen Tester das tun – und doch kamen ständig Fehlermeldungen. Die allermeisten davon waren jedoch keine echten Fehler, sondern einfach selbstgemachte Probleme. Tester und Kunden probierten die überwältigende Vielfalt an Möglichkeiten aus und vergaßen die nicht wirklich gebrauchten. Klingt bekannt, nicht wahr? Kunden rufen immer „ich brauche, ich brauche“, aber nach einiger Zeit stellst du dann fest, dass das meiste schlicht in Vergessenheit geriet, unabhängig davon, wie viel Mühe es dich kostete und wie viel Geld die Kunden dafür zahlten.

Und das ist absolut verständlich und richtig so – denn IKI: Infinity kills Information. Information muss immer auch beherrschbar bleiben und wenn du zuviel schluckst, dann erstickst du nur dran: Alte Schlangenweisheit.

Bei der Konditionenfindung war das ganz genauso: Die Leute vergaßen einfach immer irgendein Detail, das sich dann – automatisch stur und brav – doch in den Vordergrund berechnete und nur mehr ein „Fehler“ war. Der Witz dabei? Ich blickte es doch auch nicht mehr, musste auch per Debug kontrollieren, woher die Daten kamen, welche Kombinationen gefordert waren und wie sich das gesamte Gefüge zum undurchsichtigen Endergebnis zusammenfügte.

Meine Lehre daraus hätte sein können: Mein kompliziertes Programm arbeitet immer perfekt, ich bin ein Genie!

Hätte: Ich kenne jedoch das Wort „Selbstkritik“ und sehe sehr wohl, dass es noch viele andere Genies in unserer Branche gibt. In späteren Jahren habe ich häufig Bekanntschaft mit solchen tollen Programmierern gemacht, die allmächtige Programme voll technischer Perfektion erzeugten – und die kein Mensch nutzte, weil sie total unverständlich waren. Andererseits war die Welt völlig in Ordnung! Hier das Genie, stolz auf sich, und sein Chef und die Marketing-Abteilung, auch stolz auf sich und das supertolle Produkt – dort der Kunde und sein Berater, der keine Ahnung hat, wie er mit dem Ding umgehen soll und einfach ein Excel™-Workaround schafft, das prächtig und individuell genau die Kundenbedürfnisse befriedigt. Jeder ist und war zufrieden.

Naja, nur ich eben nicht. Ich habe seit meiner Konditionenfindung das Problem der Benutzbarkeit gesehen, der einfachen Bedienbarkeit. Sicher muss es komplexe Programme geben, es gibt schließlich komplexe Aufgabenstellungen – aber muss das wirklich immer so kompliziert zu bedienen sein? Die meisten komplexen Aufgabenstellungen im richtigen Leben werden doch nicht von Einsteins durchgeführt! Also müssen sie im richtigen Leben so machbar gemacht werden können, dass es eben doch (fast) Jedermann beherrschen kann.

Die Idee ist keineswegs neu, nicht wahr? Apple’s® großer Vorteil auf dem Mac™ war es schließlich, benutzerfreundlich zu sein. Erinnert sich noch jemand an die ersten Werbekampagnen, wo den Computerbenutzern hübsche Bildchen statt der langweiligen und komplizierten Befehlszeilen angeboten wurden? Ganze Bücher wurden seitdem über die geschickteste Art und Weise geschrieben, Usern Zugang zu den Programmen und Daten zu verschaffen.

Zurück zum Anfang

Schlagworte

Apropos eigene Ideen: Kürzlich fiel mir eine Präsentation aus der Zeit um 1990 in die Finger, die ich erstellte, um meinen Chef davon zu überzeugen, dass die Informationsflut in unserer Firma kontrolliert werden müsste. Mir schwebte ein Programm vor, in dem alle Dokumente, ob Briefe oder Emails, ob Pflichtenheft oder Source-Dokumentation, gesammelt würden und systematisch beschlagwortet würden. Freie Schlagworte sind mir seit damals ein Gräuel, denn sie geben die Strukturierbarkeit des Themengebietes auf. Natürlich sollte das Programm weiterhin all die diversen Verarbeitungen wenigstens anstoßen und kontrollieren können.

Klingt auch bekannt, nicht wahr? Ist heute als als „Portal-Lösung“ ein echtes Schlagwort. Damals jedoch war es nicht der Rede wert und schon lange nicht irgendwelcher Investitionen.

Zurück zum Anfang

Daten-Kernel, nein danke

As Time Goes By

Dass die alten Techniken der ERP nicht mehr lange marktfähig sein würden, war mir klar genug, um mich mit den „neuen Technologien“ des PC zu beschäftigen. War in vielerlei Hinsicht ein Rückschritt (entwicklungstechnischer Art), verschaffte mir jedoch Berührung mit Objektorientierter Programmierung. Ich brachte mir damals C++ bei und stellte dabei recht schnell fest, dass du auf dem PC doch viel, viel großzügiger sein musst als in einer „altmodischen“ Rechnerwelt. Ich bin seitdem nicht mehr ganz so euphorisch hinsichtlich der berühmten „Offenheit“, zumindest, solange sie noch zuviel unkontrollierte und unkontrollierbare „infinity“ an Möglichkeiten und Kompositionen anbietet.

Ich stellte auch fest, dass ohne vernünftiges Datenbank- Management das schönste GUI-Programm nicht besonders nützlich ist. Damals wandte ich mich von den „üblichen Verdächtigen“ ab und einer recht unbekannten 4GL zu, die mir in ihrem gesamten Erscheinungsbild ungeheuer entgegenkam. Außerdem hielt sie, was mir C++ bloß versprochen hatte: Unabhängigkeit vom Betriebssystem – denn wer will schon ein Programm tausendmal neu oder um-programmieren, nur weil die Hardware ausgetauscht wird? Und genau das war letztendlich doch immer erforderlich in anderen Entwicklungsumgebungen, damals.

Das erste, was ich mit dieser 4GL zauberte, war ein total definierbares System: Alle Eigenschaften einer Datenbank wurden von den Dateninhalten getrennt und erlaubten dadurch einheitliche Verwaltungen. Es mussten nicht mehr für jedes Fällchen ein Ställchen gebastelt werden, nicht mehr für jede Datei ein eigenes Verwaltungsfenster, ein eigener Druck, eigene Auswertungen erstellt werden, nein, das konnte alles für alle gemeinsam geregelt werden, nur unter Verwendung der Metadaten.

Toll, ich war von mir echt begeistert. Als hätte ich die Konditionenfindung vergessen!

Denn nein, ich hatte nicht XML ein zweites Mal erfunden, dafür war es zu kompliziert. Bewusst wurde mir das, als ich eine Freundin an die Software setzte und die nur einen kurzen Blick drauf warf und sich abwandte. Es war zu unhandlich.

Ich habe diesen Ansatz dann fallen lassen, nicht zuletzt aus der Berufserfahrung mit großen Datenbanksystemen heraus. Warum? Weil es immer wieder Fehler gibt und du die suchen musst – und Datenbanken sind das originärste Element der Fehlerverfolgung. Daten pur zu sehen, ohne die sie manipulierenden Programme, ist oft überlebenswichtig in unserem Job und je leichter lesbar sie sind, umso einfacher kontrollierbar sind sie, umso unabhängiger vom erzeugenden Programm sind sie, umso einfacher lassen sie sich von einem System ins nächste transportieren oder als Grundgerüst für komplexere Auswertungen verwenden.

Dieses Wissen, kombiniert mit der Natur der Information, kristallisierte sich dann in der 4fF-Methode und hat mich zu der Überzeugung gebracht, dass alles anonymisiert werden soll, was Prozess ist – und nichts, was Daten ist. Denn „die Individualität liegt in den Daten“.

Zurück zum Anfang

Facade

Die nächste Stufe der Entwicklung war die Suche nach komplexen Komponenten. Zu der Zeit waren Komponenten schon in aller Munde und die Auguren predigten den Siegeszug von Applikationen, die nach Lust und Laune aus Einzelteilen zusammengeflickt werden konnten, ohne dass Programmierkenntnisse nötig sein würden. Objektorientierung mache es möglich, hieß es.

Die einzigen lukrativen Komponenten, die freilich lange Realität waren, tummelten sich auf dem VisualBasic-Markt™, später kamen noch JavaBeans™ dazu – Sackgassenkomponenten.

Sackgassenkomponenten?

Das sind solche, die nach ihren Vorgaben bestimmte Ergebnisse liefern, die daraufhin der weiteren Verarbeitung zur Verfügung stehen – klingt gut, nicht wahr? Aber nicht gut genug, denn die Kontrolle über die Informationen liegt nicht bei dieser Art von Komponenten.

Was ich meine?

Nun, ich schrieb für meine Firma nicht nur die Preis- und Konditionenfindung, sondern auch ein paar Druckprogramme für den Verkauf, darunter auch Rechnungen. Wer sich in ERP auskennt, weiß, dass die Rechnungsproblematik sehr diffizil werden kann und die Daten für die „Heilige Kuh“ Finanzbuchhaltung zur Verfügung stellen muss. Unser kleines ERP-System hatte damals für die Rechnungsschreibung folgendes Verfahren gewählt: Ausgehend von Aufträgen und Lieferscheinen bestimmte sich die Rechnungsschreibung automatisch ihre endgültigen Preise und Werte zum jeweils gültigen Zeitpunkt, erstellte ihre Dateien und bereitete die Daten für die Finanzbuchhaltung und den Druck auf. An die 40 Dateien waren direkt und indirekt dabei zu berücksichtigen und die jeweiligen aktuellen Stati von Kunden, Teilen, Konditionen, Währungen und Mehrwertsteuer und was weiß ich sonst noch zu beachten.

Das war die Komponente, die mir vorschwebte – niemals hätten sich einem solchen Programm alle erforderlichen Informationen als Parameter übergeben lassen. Eine solche Komponente musste also in der Lage sein, sich ausgehend von einer einfachen Parameterschnittstelle die erforderlichen Informationen aus dem gesamten System zu besorgen. Eine solche Komponente musste also „Systemkenntnisse“ haben und sie selbsttätig anwenden.

Wie viele andere begann ich erst einmal, die Komponente „einzukreisen“ – ich begann mit dem Konzept der „Module“, die über einheitliche Schnittstellen miteinander agieren konnten. Verboten war, wie ich es kennen gelernte hatte, ein direkter Zugriff auf Moduleinheiten von außerhalb des Moduls.

Zurück zum Anfang

Nihil novi sub sole

Ich habe dieses Prinzip eines definierten Zugangs später unter dem Begriff „Design Pattern Facade“ wieder erkannt. Soviel zu „modernen“ Erkenntnissen. Neue Worte machen noch keine neuen Ideen, nicht wahr? Doch genau das ist das Problem einer Wissenschaft, die nicht auf Physik gründet – sie kann nur der„zweite“ Typ sein, eine Schriftgelehrtenwissenschaft, basierend auf menschlicher Erfahrung, menschlicher Praktik, menschlichem Abstraktionsvermögen – und menschlicher Selbstdarstellungswut. Wenn dich keiner kontrollieren kann, wer soll dir dann beweisen, dass deine neuen Worte, hübsch und teuer patentiert und „bewiesen kreativ“, dann nichts weiter sind als alter Wein in neuen Schläuchen? Du musst dich nur über die alten Experten lustig machen, die ihre alten Worte benutzen – und schwupps! Kann dir keiner mehr das Gegenteil beweisen!

Leider neigen Schriftgelehrtenwissenschaften dazu, die Form über den Inhalt zu stellen - zur Entwicklung „Heiligen Schriften“, über die dann ganze Glaubenskriege sich entfalten können, zur „Herrschenden Meinung“, zur „Mindermeinung“, zur „im Wachsen begriffenen Meinung“...

(Die erste, absolut nützliche Schriftenreihe, die im Moment wohl Kultstatus zu erwerben beginnt, ist ITIL, eine sehr nützliche BestPractices Sammlung für alle Lebenslagen der IT – kein Markenzeichen, sondern das Ergebnis der Bemühungen der britischen Regierung, endlich Ordnung ins Chaos zu bringen und wohl bis heute die einzige nicht proprietäre, öffentliche zugängliche und umfassend dokumentierte Methodik für das IT-Service Management.)

Auch das, liebe Patentanhänger, muss berücksichtigt werden, dass die Erfindung neuer Phrasen noch lange nicht heißt, dass tatsächlich neue Verfahren vorliegen – denn im Gegensatz zur deutschen Handhabung, Patent als einen Schutzmechanismus für technische Errungenschaften zu sehen, ist Software leider bis heute noch keine „Technik“ im naturwissenschaftlichen, also auf Physik begründeten Sinne. Bis heute ist sie eben „nur“ eine Erfahrungswissenschaft, eine Schriftgelehrtenwissenschaft. Denn bitte, all ihr Algorithmenliebhaber und LineareAlgebra-Vertreter in der Programmierung – hat einer schon mal versucht, damit eine Rechnung zu schreiben?

Betriebswirtschaftliche Software, Content-Management-Systeme sind deshalb nicht umsonst der Prüfstein der „überkommenen“ Informatik-Handhabung. Sicher sind mathematische Verfahren absolut nützlich bei der Interpretation von Wortdokumenten, wer sich jedoch mit der „Natur“ der Information beschäftigt, diesem „symbolischen Rätsel“, kommt sehr schnell auf den Verdacht, dass einer der grundlegenden, absolut blind machenden Stolpersteine gerade diese Fokussierung auf mathematische Methoden ist, die nicht für eine solche Art der Problematik entworfen wurden.

Oder mit anderen Worten:

Dass mit einem Hammer versucht wird, eine Schraube einzudrehen.

Zurück zum Anfang

Zurück zum Blog

Exoskelett

So richtig weiter kam ich mit diesem modularen Ansatz aber nicht – die Einheitlichkeit der Schnittstellen erforderte ihre Redundanz: In jedem Modul musste sie identisch vorliegen, da sie das gesamte Modul nach außen abschirmen musste. Wie ein Exoskelett umhüllte die Schnittstelle die Modulprozesse und verkapselte sie, eine echte Black-Box.

Nur hatte die Redundanz natürlich ihre Probleme: Ständige Kontrolle der Identität. Bei jeder Änderung musste an all die vielen identischen Schnittstellen mitgedacht werden.

Und eine echte Komponente war ein solches Modul natürlich nicht.

Noch ’ne kleine Bemerkung zwäng Ideen und Patenten: Mein Kommunikationssystem nannte ich Star/Satellite: Es gab eine Star- und eine Satellite-Funktion, mit der jede so versorgte Klasse sowohl als Star als auch als Satellite agieren konnte: Satellites meldeten sich bei den Stars, um bei bestimmten Ereignissen benachrichtigt zu werden.

Und ja, der Kandidat hat hundert Punkte! Als Design Pattern heißt das heutzutage Observer/Observable. Ich wette jedoch, dass es noch Millionen andere Namen hat, einfach weil das Problem in den meisten Software-Bereichen existiert und gelöst werden muss.

Also: Hände weg von Software-Patenten!

Besonders du, liebe Bundesregierung, solltest das beherzigen! Denn wer möchte Deutschland zu einer führenden Nation der Software-Industrie machen? Und wie soll das gehen, wenn nur amerikanische Riesen-Companies irgendetwas NEUES einführen können/dürfen? Denke doch bitte an das berühmteste aller Beispiele: Netscape® vs. Microsoft®.

Zurück zum Anfang

Endoskelett

Dezember 1998 stieß ich dann auf den objektorientierten Nachfolger meiner 4GL: Omnis Studio (© Raining Data Corporation, http://www.omnis.net/ - im Folgenden/Blog nur noch Studio genannt).

Wie Schuppen fiel es mir damals von den Augen – Exoskelette sind nicht flexibel genug, nur ein Endoskelett verschafft dir einerseits genügend Stabilität, andererseits genügend Bewegungsfreiheit.

Was das heißen sollte? Dass die Schnittstelle im Inneren des Objektes liegen musste. Eine solche Komponente musste also „Systemkenntnisse“ haben und sie selbsttätig anwenden. Hier schätze ich, ist „das Lustprinzip“ ein interessantes Programmierkonzept:

„Lösung der Natur für das Problem, einerseits unabhängige, selbst-organisierende Einheiten zu fördern, andererseits diese Einheiten zu nützlichem Verhalten zu bewegen. Strafe als Prinzip ist wegen der ersten Bedingung untauglich, da unabhängige, selbst-organisierende Einheiten für das eigene Überleben besonders durch Vermeidung von Schäden sorgen. Strafen bezwecken dagegen Schäden. Je intelligenter also die Einheit ist, umso eher wird sie Möglichkeiten finden, Strafen zu vermeiden, selbst wenn sie einmal erduldet werden müssen.“

Und ja sicher liegt jede Header-Datei und Schnittstelle, jede öffentliche Methode „innerhalb“ des Objekte. Deshalb Frage (und Gelächter) zurück: Warum ist dann Objektorientierung der Spaghetti-Programmierung vorgezogen worden oder wird das Facade-Design-Pattern in UML angeboten?

Genau.

Der Witz ist, dass die Schnittstelle nach den Systemanforderungen normiert sein muss oder wenigstens einen normierten Part haben muss. Ein weiteres lustiges Detail meines Kernels war die lokale Konzentration. Ich betrachtete nämlich nicht nur (einfache) Objekte, die für mich gemäß der ML-Methode als Variable mit nicht zuviel „Fassungsvermögen“ dienten, sondern „Rollen“ oder „komplexe Instanzen“, wie ich sie gerne nenne, also ein „Objekt“, das „der Rede wert“ ist, einen eigenen, die Metadaten bestimmenden Namen aufweist und einen ganzen Prozessbereich verwaltet.

So gab es eine solche „mighty class“ oder „Rollen“-Klasse, die den Systembereich markierte, wie Fehlerbehandlungen, Sprachsteuerung (natürlich on the fly), Kommunikation oder die Initialisierung von Menüs und Datei-Tasks, die also die „natürliche Umgebung“ der Software anbot und weiterhin Hilfsfunktionen wie Sackgassenkomponenten zur Verfügung stellte. Dann gab es eine (einzige) solche Klasse für den Datenzugriff, für den Fensteraufbau mit Suche, Präsentation und Verwaltung der Datei-Informationen, einen Druck – und für jede dieser Klassen ein spezifisches Objekt, das die Individualaufgaben durchzuführen hatte (ehmmm – spezifisch pro Individualaufgabe, nicht pro Typ, wohlgemerkt). Denn wer die Aufgaben einer Software nach „Einzelfall-Abhängigkeit“ sortiert, kann den Anteil nicht-abhängiger Aufgaben zusammenfassen: zum Systembereich für völlig einzelfallunabhängige Funktionalität, zum „einzelfall-typ-abhängigen“ Klassenanteil, der sich bequem über Metadaten steuern lässt und damit für den ganzen Typ gleichartig aussehen kann bis hin zu dem einzelfall-abhängigen Teil, der sich am allerbesten nicht normiert bearbeiten lässt (ein Fehler, den viele Case- und Generatorsysteme machten), sondern wirklich individuelle Beachtung verdient.

Dies führte zu einer erheblichen Reduktion an zu verwaltenden Statements – und zu recht sauberen Wirkungsverläufen. Denn obwohl, außer für den Systembereich, für jede einzelne Datei eine Instanz des jeweiligen Prozessbereichs mit ihrem individuellen Objekt aktiv war, war die Anzahl der „mighty classes“ oder „Rollen“-Klassen begrenzt, die die Kontrolle im Arbeitsverlauf innehatten. Und da die Schnittstellen normiert waren und auch intern (!) als Trigger funktionierten, der in Präsentationsklassen dazu noch über die Textanordnung gesteuert wurde (die bei Sprachenabhängigkeit sowieso bearbeitet werden muss), waren Problembearbeitungen sehr vereinfacht – du weißt gleich, wo du hinfassen musst und hast nicht einen üblen Spaghetti-Berg an möglichen Verläufen zu beachten.

Zurück zum Anfang

Definition der Information

Nun hatte ich also den Kernel lauffähig. Alle einfachen Probleme, die sich simpel in Dateiform speichern ließen, waren abgehakt, ich ging nunmehr daran, komplexere Probleme mit internen Abhängigkeiten zu behandeln, natürlich auch in Metadatenform bequem in einer Kontroll-Datei zu hinterlegen. Stolz, wie ich auf meine „Erfindung“ war, ließ mich die damals aufkeimende Patentierungswut jedoch befürchten, dass ich für sie nun fremden Leuten Geld bezahlen sollte.

Patente – es ist den „Patentgebern“ völlig gleich, wie andere auf „ihre“ Lösungen kommen, das sieht man an der Schrulligkeit der Patentierung von Genen. Weder haben die Patentgeber die Gene erfunden, noch haben sie sie wirklich verstanden – bis heute werden die Gene als die „Treiber“ der Evolution gesehen, dabei wird jeder Programmierer sie höchstens als „Parameter“ oder Metadaten ansehen: Furchtbar wichtig, doch ohne Runtime sinnlos. Deshalb wird ein Programmierer auch überhaupt nicht überrascht sein, dass Klonschaf „Dolly“ so kränklich war, denn sooo einfach ist eine Kernel-Programmierung denn doch nicht, liebe Mediziner. Die Prozesse müssen hauchzart auf die Metadaten abgestimmt sein, sonst – des weiteren siehe Murphys Gesetz. Aber, Deutschland, du wunderbares Land der Bücher und der Ingenieure, hast mir einen anderen Weg geboten, das Buch.

Doch das hatte ich schon erzählt.

Was ich nicht erzählt hatte, war mein Problem, meinen Kernel überhaupt zu erklären. Der nette, von keiner Vorkenntnis beschwerte Patent-Berater der IHK fragte mich nämlich irgendwann einmal, wozu das denn gut sein solle. Was denn „Standardisierung“ oder das „Einsparen von Statements“ für Vorteile bringen würde – und es war ungeheuer schwer zu erklären.

Aber sind wir doch ehrlich: Das Problem existiert nicht nur bei Fachfremden, sondern mit so gut wie allen Programmierern! Wozu sollen sich große Geister Standards beugen?

Ich müsse schon genau beschreiben, was ich denn patentieren wolle, das sei unbeachtlich aller Patentierbarkeit eine klare Voraussetzung. Natürlich stimmte ich dem zu, ich kenne schließlich „die Macht der Worte“. Vielleicht war ich deshalb so entsetzt über mich, dass mir das so schwer fiel. Denn ich bin unbeirrbar der Überzeugung, dass alles, was du verstanden hast, auch in einfachen Worten darstellbar ist, dass Fachjargon eine bequeme Abkürzung innerhalb eines Fachgebietes ist, aber natürlich auch in Worte der Umgangssprache – oder eines „anderen Fachjargons eines anderen Fachgebietes“ - zu übersetzen sein muss. Nicht umsonst rate ich allen Fachfremden, die hehren Vertreter der IT mit ihrem wunderbaren Slang einfach mal zu fragen, was denn die vielen tollen Worte heißen sollten. Es ist frappierend, wie wenig genau sagen können, was sie in den Mund nehmen.

Meine Unfähigkeit, klar und präzise zu sagen, was an meinem Kernel denn so prächtig sein solle, führte mich irgendwann zu der Erkenntnis, dass es schlicht am Fehlen einer vernünftigen, exakten Grundlage in unserem Job lag. Nichts, was axiomatisch präzise abzuchecken war, in mathematisch prägnanter Begriffsbestimmung mündete und deshalb zu unbezweifelbaren, (weil immer und von vielen nachkontrollierbaren) Schlussfolgerungen führen konnte: weil es keine Physik der Information gab, weil es keine vernünftige Definition der Information gab – außer eben den diversen „Erscheinungsformen“ und „Interpretationen“ und „symbolischen Rätseln“. Mit dem Zeug lässt sich aber nichts programmieren, das hat nicht Hand noch Fuß und bedarf vieler Fantasie, um überhaupt mit einem RPG-Programm in Verbindung gebracht zu werden. Und nein, du junger Programmierer: auch nicht wirklich mit deiner Skriptsprache! Oder möchtest du mir sagen, dass es dir ein Rätsel ist, wie dein Code überhaupt funktionieren kann?

Und bis heute hat sich da wenig geändert.

Wer auf dem Internet nach einer Kombination von “natural laws” und “incapable of producing information“ sucht, findet erstaunlich viel Zustimmung für diese Behauptung, dass Information nichts mit Naturgesetzen zu tun haben kann, dass Physik nicht hilfreich sei bei diesem Problem. Es scheint wohl ganz selbstverständlich zu sein, dass außerhalb (!) der Naturgesetze noch Wirkungen erzielt werden – doch von was? Wie kann es, in einer Zeit nach der Renaissance, nach Immanuel Kant und Gottfried W. Leibniz denn noch möglich sein, „außer“natürliche Erklärungsmuster anwenden zu dürfen, ohne erklärter Theologe zu sein? Oder kann es schlicht sein, dass niemand sieht, dass hier Wirkungen überhaupt vorliegen? Dass es akzeptabel ist, dass Input via Software zum Output übertragen wird - als Wertveränderung OHNE Wirkung? Wie sollte das denn REALISIERBAR sein?

Natural Laws incapable of producing information? Und was bitte ist mit den Genen? Alles per Zauberspruch? Abracadabra – und es ward Information?

Nein, eine solche Vorstellung war mir bei allem Respekt gegenüber den großen Informatikern, die dies behaupteten, nichts weiter als ein Furcht erregender Horror, ein Rückfall in Zeiten des Denkens, als Wünsche noch mächtiger waren als das Experiment und Schwerter noch mächtiger als das Wort.

Nein, dem wollte ich mich nicht beugen.

Ich allein gegen alle Profis der Wissenschaft? Natürlich, ich hatte da keine Hemmungen, für mich war Newton, der Bauernsohn, Einstein, der Handwerkersohn oder Kant, der Sattlersohn, genügend Hoffnungsschimmer, auch als Niemand richtig liegen zu können, um mich nicht ängstlich in eine Ecke zu verstecken und zu warten, bis Gott endlich die Erleuchtung auch in die hehren Elfenbeintürme – per Zauberspruch, wie weiland mit dem menschlichen Geist in die Neuronen – senden würde.

Du runzelst die Stirn?

Solltest du auch – denn in dieser kleinen Sequenz (ich gegen alle) steckte eine sehr interessante Frage. Im Normalfall würde ich selbst drauf wetten, dass die einzelne Person ein totaler Idiot sein muss, deshalb erwähnte ich auch ganz unschuldig und naiv einige der größten Köpfe der Menschheit, denn wie heißt es so schön? Ausnahmen bestätigen die Regel (übrigens: soviel zu Elite-Schulen).

Und wenn ich nun, von dieser unbeirrbaren, unbezwingbaren Überzeugung ausgehend, dass Physik die Mutter allen Seins ist und dass nichts und niemand außerhalb des Universums und seinen Gesetzen existiert und dass ganz natürlich auch die Information damit naturwissenschaftlich erfassbar ist (ganz wie die dunkle Materie und Energie, die zwar auch noch nicht verstanden ist, freilich sicher niemals per außernatürlichem Ansatz erklärt werden wird), davon ausgehen konnte, dass ich mit Sicherheit recht lag, auch wenn ich nur ein Niemand war - dann stellt sich die Frage, wieso alle anderen das nicht sehen konnten? Das waren ohne Frage alles Leute von hoher Qualifikation und Kompetenz, die hier bereitwillig von „symbolischem Rätsel“ und der „nicht erklärbaren Bewusstheit des menschlichen Geistes“ sprachen - ohne Frage und ohne den leisesten Zweifel. Dass mir da kein falscher Verdacht aufkeimt!

Die erste Antwort, die mir darauf einfiel, war, dass Information so absolut grundlegend ist, dass man über sie hinwegsieht wie über die Nase im eigenen Blickfeld. Die Augen sehen sie zwar, doch das Bewusstsein blendet sie fast ganz aus – oder hast du schon mal auf die Frage, was siehst du, geantwortet: meine Nase?

Das Einfachste und Grundlegendste, was es in diesem Universum gibt, ist die Tatsache, dass alles, was existiert, einen Wert hat – einen Zustand.

Und ja klar, das ist Physikern und Informatikern gleichermaßen klar, nicht wahr? Was ihnen nicht ganz so klar zu sein scheint, ist die Tatsache, dass dieser Wert nicht ewig ist, sich ändert. Und das mag daran liegen, dass beide, wie alle Naturwissenschaftler, die Mathematik als Werkzeug zur Beschreibung – und zum Verständnis – eines Problems haben.

Und Mathematik ist heutzutage nur Mengenmathematik – es ist die filigrane und perfekte Ausarbeitung von Euklids Geometrie, die vielfältige Methoden der „praktischen Landwirtschaft“ und der „praktischen Architektur“ ihrer Zeit axiomatisierte und damit letztendlich von der „Schriftgelehrtenwissenschaft“ der Ägypter zur exakten und ausbaubaren, vielseitig anwendbaren (!) Ästhetik der Griechen führte. Und wieder nicht falsch verstehen! Denn es dürfte kaum jemanden auf diesem Erdenkreis geben, der Funktionalanalysis mehr liebt und bewundert als ich: Mathematik ist die Mutter aller Erkenntnis, weil sie das stete und unbezwingbare Trachten nach Klarheit und Wiederholbarkeit – sprich Kontrollierbarkeit – ist.

Vielleicht ist das aber gerade der Grund, warum ich ihre Grenzen erkennen kann? Weil ich ihre Technik der „Programmierbarkeit von Problemlösungen“ so bewundere und mir das Funktionalkalkül die Augen dafür öffnete, dass Ordnung Ordnung erzeugt – dass eine zugrunde liegende Struktur sich allen ihren „Vererbungen“ aufzwingt? Schließlich ist jeder Hilbertraum immer noch eine Menge.

Ok, gut, das wird wohl langsam wieder zuviel Geschichte.

Jedenfalls stellte ich damals, September 1999, eine axiomatische Definition der Information auf, die auf der „Menge der Transformationen einer Eigenschaft“ beruhten, sprich auf den Wertveränderungen einer einzigen, einfach-attributigen Eigenschaft, die dann Information ist, wenn die Wertveränderungen wiederholbar sind und zusammenhängen. Ich habe diese Definition dann im Buch „Physik der Information“ (2002) ein bisschen „bequemer“ umformuliert und konnte damit sogar eine nette Länge definieren, ein richtiger mathematischer „Abstand“ – und das, nachdem ich nicht nur die 4fF-Methode als kleine Datenbank-Vermessung aufgestellt hatte, sondern auch die ML-Methode (2001), die eigentlich eine Form von „Wegeoptimierung“ ist und deshalb die Existenz dieser Länge gnadenlos voraussetzte.

Nun ja, Theorie folgt immer der Praxis, nicht wahr?

Denn die Praxis wird von der Realität geboren, die mit „Mutation“ und „Evolution“ Spreu vom Weizen trennt – die Theorie hat es dann eigentlich recht einfach. Sie muss dann nur noch die „Gemeinsamkeiten“ in den überlebenden, erfolgreichen Praktiken aufspüren.

Erwähnte ich schon, dass ich die Arbeit im Patentamt für eine Grundvoraussetzung dafür halte, dass Albert Einstein seine Relativitätstheorie aufstellen konnte?

Zurück zum Anfang

© bussole IV 2004 (außer Zitate)

Zurück zum Blog