Samstag, 6. August 2016

Abstraktion, (k)ein Unwort für praktische Informatiker?

Manchmal darf man Dinge öfters sagen, manchmal muss man sogar. ‚Ceterum censeo…‘ sagte einstmals Cato, jedesmal wenn er im Senat redete. Seine Taktik war schließlich erfolgreich. Mit dem Thema Abstraktion, kurz Thema A genannt, befasse ich mich seit rund vierzig Jahren. Schon mehr als einem Kollegen ging ich damit auf die Nerven. Auch in diesem Blog kam es bereits drei Mal vor. Beim ersten Mal nahm ich die Doppeldeutigkeit des Begriffs Abstraktion ins Visier. Ich unterschied zwischen (Mengen-) Vereinigung und Transzendentierung. Danach versuchte ich für alternative Konzepte zu werben, etwa für die Aggregation.

Jetzt werde ich nur eine Diskussion der letzten Tage wiedergeben. Wie immer in diesem Blog, heiße ich auch hier Bertal Dresen (BD). Mein Sparringspartner war wieder mein Kollege Hartmut Wedekind (HW) aus Darmstadt. Er hat einen großen Vorteil für mich: Mit ihm kann man eine ganze Weile streiten. Er gibt nicht so leicht nach. Wer mit mir länger auskommen will, benötigt drei Eigenschaften, Resilienz, Geduld und Vergesslichkeit.

Wedekind hatte Anfang August in seinem Blog einen Beitrag veröffentlicht mit der Überschrift  „Das Invariante bleibt: Eine Studie zum Begriff der Nachhaltigkeit“. Darin versuchte er unter anderem Juristen klarzumachen, dass sie unterscheiden sollten zwischen konkreten Verträgen und der Idee eines Vertrages. Die Idee sei eine Abstraktion so wie es Zahlen gegenüber Ziffern seien. Ich konnte mich nicht zurückhalten und schrieb einen Kommentar mit folgendem Wortlaut.

BD: Es ist jammerschade, dass der Informatiker Wedekind uns immer klarmachen will, dass er mit Zahlen rechnen kann. Erst seit es (elektronische) Ziffernrechner gibt, gibt es die Informatik. Schon vor 50 Jahren konnte ich keine Differentialgleichungen lösen, ohne mir genau zu überlegen, was meine Gleitkommadarstellung mit ihnen machte.

HW: Aber das will ich doch gar nicht. Ich will doch bloß das Invarianzprinzip (auch als Nachhaltigkeit mit dem Thema "was bleibt") an ganzen Zahlen als Beispiel klar machen, weil ganze Zahlen alle kennen. Die ganze Abstraktionshierarchie bis hin zu den komplexen Zahlen erspare ich mir. Die intensionale Abstraktion zu den Begriffen hin bringe ich, weil sie auch den Juristen unbekannt ist. Sie [ob die Juristen oder ich gemeint waren, kommt auf dasselbe heraus] verstehen das nicht oder wollen es nicht verstehen. Das weiß ich doch.

Schauen Sie sich aber das fast unerträgliche "Abstraktionselend" (siehe z.B. bei Wikipedia) in der Welt doch mal genau an (nicht nur bei Juristen), und auch das Blabla drum herum inkl. "Information hiding" bei den Informatikern. Das ist unverstandener Quatsch zum Quadrat und bloße Metaphorik. Schauen Sie sich [auch] den Quatsch vom berühmten Kronecker an. "Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk." Das Schlimme, die glaubten das früher wirklich. Der Blödsinn ist kein Spaß, obwohl es so aussieht. Das ist Schwachsinn und eines Wissenschaftlers unwürdig.

BD: Sie tun ja auch Dinge, die Sie nicht tun wollen. Sie wollen Informatiker sein und werben für Mathematik. 'Math considered harmful' kann ich nur sagen. Besonders wenn Informatiker sie betreiben, die eigentlich eine ganz andere Aufgabe haben.

HW: Ich mache die Mathematik in ihrer "ontologischen" Infantilität zur Sau. Ich werbe doch nicht für sie. Kronecker ist kein Winzling, sondern steht in deren "hall of fame", ganz oben. Den Mathematikern heute ist der Auspruch Kroneckers ja auch peinlich, so wie gute Juristen auch das Abtrenntheater eines Savingy nicht mehr ertragen können, weil es auch so geht, wie das anderen Nationen machen. In Europa kann man das nicht einbringen. Nicht exportierbar! Nur die Japaner, die haben es übernommen. Überall haben sie die Lacher, bloß die Belachten merken das nicht, weil sie dogmatisch und unkritisch sind. Das sind wissenschaftliche (auch politische) Todsünden. Und was ist mit ISO/OSI mit seinen 7 Schichten der Abstraktion?

BD: Das sind Hilfen fürs Denken. Es gibt auch schöne Bilder in Büchern. Es gibt aber keine OSI-Maschine, die sie direkt bearbeitet. OSI kommt auf Maschinen nur indirekt vor, von Menschen mühsam von Hand übersetzt und angepasst. Dabei entstehen dann viele Fehler. Aber dafür tragen dann andere Leute die Verantwortung. Nicht die, die abstrakte Bildchen malten. Was wäre an einer Machine, die direkt die ISO-Protokollschichten interpretiert, abstrakt?

HW: Man kann bei ISO/OSI die Invarianzen vom Schicht zu Schicht einzeln vorführen, wenn man will. Merkmal für Abstraktion: Was bleibt, wenn der Strom ausfällt und kein Notstrom-Batterie-System vorliegt? Bei Datenbanken sagt man, nur das, was auf Platte konkret protokolliert wurde. Das sind die After-Images einer Seite nach jeder Veränderungstransaktion. Mit den konkreten Bits der Images wird dann ein Recovery der Abstraktionsschichten darüber veranstaltet. Auch bei HANA muss recovered werden können.

BD: Ob TCP/IP eine Abstraktion im Sinne Ihrer ganzen Zahlen ist, wage ich zu bezweifeln. Haben Sie kein besseres Wort für 'konkret vorhandene Interpretationsebenen'?

HW: Sicherlich. Man brauchte das DoD mit seinem TCP/IP auf der wichtigen Schicht  4. Ohne DoD kein Internet. Der Aristoteles in seiner Ontologie hat ähnlich in Schichten gedacht. Das ist aber keine Abstraktionshierarchie, für uns nur eine Analogie (Ähnlichkeit). Es ist eine Ontologie-Hierarchie.

BD: Noch einmal: Sobald Sie von Abstraktion reden, besteigen Sie eine Art Rakete, die Sie von der Erdoberfläche entführt. Sie begeben sich in Sphären, wo der (arme, aber praktische) Informatiker nichts tun kann. Sie treffen dort vielleicht auf Mathematiker und Philosophen. Aber das interessiert mich wieder nicht. Es gäbe unten eigentlich genug zu tun. Auch für Leute wie Sie.

HW: Vielleicht hilft Ihnen der E.W. Dijkstra mit seinem Betriebssystem THE weiter. Es war damals das erste Mal (1965), dass systematisch eine Abstraktionshierarchie als Konzept benutzt wurde. [Stimmt nicht ganz. Ich benutzte 1956 den Bell-Interpreter, der als Schicht zwischen Hardware und Anwendung lag.] Dijkstra war ein exzellenter Mann. Ganz neidisch war Dave Parnas mit seiner Metaphorik "information hiding" (statt Abstraktion). Das Data Independent Accessing Model (DIAM) für Datenbanken kam erst später, 1972, IBM San Jose.

BD: Im zitierten Text kommt zwar einmal das Wort Abstraktion vor. Mich würde es sehr wundern, wenn Dijkstra Schichten einer Implementierung als Abstraktionen bezeichnet hätte. Oder die Schichten einer Sahnetorte.

Abstraktion ist für mich als Ingenieur und Informatiker  ̶  unabhängig davon, was Philosophen und Linguisten meinen  ̶  eine auf realen Rechnern undefinierte Operation. Sie ist vergleichbar mit der Division durch Null.

Dass man für die gedankliche Kopfarbeit, d.h. ohne an Rechner zu denken, mehr Freiheitsgrade hat, das bestreitet niemand. Nicht formales Denken ist sogar meist einfacher und schneller, nur ist es nicht maschinell verwertbar, bzw. nachvollziehbar. Ich selbst habe oft Pseudocodes verwendet, d.h. Notationen, die aussahen wie Programmiersprachen, die aber nie ausführbar waren. Das Abstrahieren führt jedenfalls nicht näher zu einer maschinellen Lösung eines Problems, sondern weg von ihr. Es führt in die falsche Richtung.

Ich kann mir übrigens auch abstrakte Zahlen gedanklich vorstellen. Für sie würden etwa die folgenden Operationen gelten:

0/0 = 1; 0/∞ = 0; ∞/∞ = 1; ∞/0 = ?; ∞/n = ∞; n/0 = ∞ für n ≠ 0

Ob Mathematiker sich bereits mit solchen Zahlen angefreundet haben, weiß ich nicht. Einem Informatiker würde ich davon abraten.

HW: Auf die Worte kommt es mir nicht an. Meinetwegen nennen wir Thema A jetzt wieder Information Hiding. David Parnas freut es. Wie nennt man dann die Abstrakten Datentypen (ADT)? „Hidden Data Type“ oder „Gekapselte Daten“? Alles archaische, metaphorische  Bildersprache. Das ist wie bei „Eiweiß“. Das erweckt falsche Vorstellungen. Wissenschaft macht „Protein“ daraus. Eiweiß kommt  nicht nur im Weißen des Eis vor. Protein, das versteht so ohne Weiteres wenigstens niemand, (also auch nichts Falsches), es sei denn, er schreibt eine Formel an die Tafel. Eiweiße haben alle die gleiche Struktur und werden vom Fachmann als solche sofort erkannt.

BD: Ich weiß, dass Worte oft der Anlass für Schwierigkeiten in der Kommunikation sind. Sie sind immer so vorbelastet. Mit dem Adjektiv 'abstrakt' habe ich weniger Probleme als mit dem Substantiv 'Abstraktion'. Eine Darstellung kann leicht 'abstrakter' sein als eine andere. Ist sie damit auch 'abstrakt'? Manchmal ist es leichter besser zu sein als gut.

Schlussgedanken

Für Platon (428-348 v. Chr.) ist bekannt, dass er die Idee eines Dings für wichtiger hielt als das Ding selber. Die Idee eines Dings ist für Philosophen eine Abstraktion, eine Translation aus der realen Welt in die Welt des Geistigen. Sobald von der Idee eines Computers, eines Programms, einer Datei, usw. geredet wird, sollte sich ein Informatiker als nicht zuständig erklären. Anders ist es, wenn über konkrete Computer, Programme und Daten gesprochen wird oder wenn die Menge (genauer gesagt, die Klasse) aller Rechner, Programme oder Dateien gemeint ist, die etwa im Internet zugreifbar sind oder die Untermenge, die gültig oder lauffähig ist. Da liegen die echten Aufgaben für Informatikerinnen und Informatiker.  Niemand sagt, dass dies leichte und unwichtige Aufgaben seien.

Es gibt eine Menge von Begriffen, die sich als Alternativen zu dem Wort Abstraktion anbieten würden: Dekonkretisierung, Despezifierung, Entformalisierung, Entpräzisierung, Transzendenz, Vergeistigung, Verunschärfung, usw. Gegen die Benutzung außerhalb der (praktischen) Informatik (Bsp. für abstrakte Malerei oder abstrakte Kunst) habe ich nichts einzuwenden. Bei abstrakter Interpretation und abstrakter Syntax fühle ich mich eher unwohl.


Fortsetzung und vorläufiger Abschluss am 11.8.2016

Nach der Veröffentlichung dieses Blog-Beitrags entwickelte sich der Dialog zwischen Hartmut Wedekind und mir noch erheblich weiter. Diesen Teil der Diskussion gebe ich hier als normalen Blogtext wieder, anstatt in den Kommentarmodus zu wechseln. Der Text ist so leichter lesbar.

HW: Nicht auf Platon und Aristoteles, sondern auf Gottlob Frege (1848-1925), den Begründer der modernen Logik, beziehe ich mich. Auf einer Tafel an seinem Geburtshaus in Wismar steht der Satz „Er ermöglichte durch seine Vorarbeit die Elektronische Datenverarbeitung.“ Na bitte, wenn das nichts ist! Frege hat auch die moderne Abstraktionslehre entwickelt. Er müsste der eigentliche Angriffspunkt der Kritik sein. Bei mir kommt in Sachen Abstraktion nichts Neues hinzu. Die Lehre Freges ist rund 130 Jahre alt und jedermann zugänglich.

BD: Wer Frege als Vordenker der Informatik ansieht, sollte dies auch bei Gerbert d'Aurillac tun, alias Papst Silvester II (946-1003). Wie kaum ein anderer engagierte er sich für die Einführung arabischer bzw. indischer Ziffern im Abendland. Ohne sie hätten es menschliche und mechanische Rechner verdammt schwer, besonders mit der Division. Ein Problem hätten sie allerdings weniger. Eine Division durch Null käme nicht vor.

HW: Logik hat viele Höhen und Tiefen erlebt: Hoch bei den Griechen, Tief bei den Römern, Hoch im Mittelalter (diverse Päpste waren bedeutende Logiker, die aus den Klöstern kamen), Tief in der Renaissance auch noch bis in die Aufklärung hinein. Leibniz gehört nicht zu den großen Logikern. Man kann auch sagen, warum. Das neue Hoch begann mit Frege. Dann folgten Tarski, und Gödel. Leider haben die Mathematiker die Logik unter ihre Fittiche genommen und z.B. auch die Juristen, die im Mittelalter noch sehr nah dran waren, total verdrängt. Mathematiker sind Usurpatoren, die scheinbar alles besser wissen. Lesen Sie mal eine ordentliche Geschichte der Logik, da sieht das (aristotelische) Mittelalter glänzend aus.

BD: Gerbert hatte in Córdoba, Sevilla, Fes oder Kairouan Arabisch und Mathematik studiert. Ob er als Logiker von anderen Logikern anerkannt wird, weiß ich nicht. Jedenfalls kommt er in einem früheren Blog-Eintrag von mir vor. A propos Frege. Bei ihm finde ich den Satz: 'Das Abstraktum von x sind alle y, die in einer Äquivalenzrelation zu x stehen.' Was hat das mit Datenverarbeitung zu tun? Kann man das mit Lochkarten verarbeiten?

HW: Der Wertebereich von y sei: (III, ***, ???, 000, &&&, $$$, .... ). Bei Lochkarten braucht man für Sonderzeichen Mehrlochungen pro Spalte.  Man erkennt das Muster (Bem.: Tiere können das nicht): Alle Symbolfolgen im Wertbereich y sind gleichlang. Man sagt auch anzahlgleich (Frege).  Das ist die Abstraktionsleistung! Es entsteht ein Abstraktum, das wir Muster nennen wollen. Das ist insofern neu, als wir neu über Altes reden. Abstraktion ist eine neue Art zu reden, nur eine "facon de parler". Gleichlang oder anzahlgleich ist eine Äquivalenzrelation. Ich kann jetzt über das Muster III reden, invariant in Bezug auf alle Darstellungen im Werteberich von y, wenn nur die Bedingung gleichlang eingehalten wird.  Die Lochkarten für den Wertebereich kann ich wegwerfen. Mich interessieren ja nur alle Gleichlangen zu III, auch neuproduzierte. Früher in der Scholastik sagte man "Man hat das Wesentliche erkannt." Ich darf jetzt mit "Muster III" Sätze bilden z:B. :  "Muster III ist ungerade."

Die Definition von Äquivalenz (Leibniz, 1664-1716) lautet: x ist äquivalent zu y, wenn alle Aussagen P über x auch, also P(x), auch für y gelten, also P (y), und umgekehrt. Man sagt auch: P( ) ist invariant (d.h. der Wahrheitswert von P( ) bleibt unverändert) in Bezug auf das Austauschen von x durch y und umgekehrt. Psychologen und Juristen begreifen das nie. Abstraktion ist seit Frege ("Die Grundlagen der Arithmetik", 1884, bei Reclam billigst zu erwerben) sprachlogisch zu verstehen. "Aussage" (proposition) ist ein sprachlogischer Terminus. Haben die Mathematiker die Fregesche Abstraktionlehre anerkannt?  Ja, sie haben es mit ihren Äquivalenzklassen, aber nur extensional, das Intensionale interessiert sie auch nicht.

BD: Habe ich Sie richtig verstanden? Ich wähle mal ein sehr praktisches Beispiel: Ein Passwort muss 8-20 Zeichen lang sein und muss mindestens einen Großbuchstaben A-Z und ein Sonderzeichen §$%&/()=?*+~# enthalten. Sagen Sie, diese syntaktische Regel spezifizert (implizit) ein Abstraktum, eine nicht explizit aufgelistete Menge (oder Klasse) mit den zugelassenen Elementen?

HW: Ja! Sie definieren eine Menge von Passwörtern als Abstraktum. Alle Mengen sind Abstrakta, aber das tun sie doch explizit durch Angabe von Regeln, die die Eigenschaften der Elemente der Menge bestimmen. Die Regeln sind aber keine Axiome (allgemein wahre Aussagen), so z.B. wie Peano seine Axiome zur impliziten Definition der natürlichen Zahlen einführte. Man kann die Peano- Axiome konstruktiv beweisen. Ihre Regeln kann man nicht beweisen. Die sind einfach schlicht so, um es Eindringlingen schwer zu machen. Peano, der war gegenüber dem zahlen-gottgläubigen Kronecker schon ein Fortschritt.

Wir Wedekinder sind immer ganz traurig. Es müsste eigentlich Peano-Dedekind-Axiome heißen. Unser berühmter Fast-Namensvetter Richard Dedekind (übrigens Nachfolger von Gauß in Braunschweig) wird leider immer verschwiegen. Dedekind war ein berühmter Zahlentheoretiker. Wenn ich mich Mathematikern vorstelle, fragen die in der Regel nach  "wie heißen Sie? Meine prompte Antwort: "Nein, nein, nicht so wie Sie meinen."

BD: Wenn Sie jede implizit definierte Menge (oder Klasse) als Abstraktum bezeichnen, so wundert mich das zwar. Falls es wirklich keine guten anderen Begriffe für diese Form der Bildung von Gruppierungen gibt, werde ich es wohl akzeptieren müssen. Also wimmelt es auch auf der Erdoberfläche nur so von Abstrakta, nicht nur im Himmel der Philosophen. Nur das einzelne Element einer Menge ist noch konkret, die Menge selbst jedoch nicht mehr, sofern die Elemente nicht explizit gelistet sind. Man lernt nie aus!

Kommentare:

  1. Robert Ottohall aus Tübingen schrieb:

    Ich habe wahrscheinlich nicht richtig verstanden, um was es konkret in Ihrem Beitrag geht. Aber ich bekam Lust ein paar Bemerkungen zum Thema zu schreiben.

    Zitat aus dem Beitrag: "Die Idee sei eine Abstraktion so wie es Zahlen gegenüber Ziffern seien."

    Hmmm? Ziffern sind nur Zeichen, die für die Kodierung von Zahlen benutzt werden. Zahlen sind doch eher eine Abstraktion von beliebigen Mengen von Objekten, mit denen man bestimmte Operationen durchführen will.

    Viele Differentialgleichungen lassen sich ohne numerische Verfahren (Gleitkomma) lösen. Vielleicht sind Differenzialgleichungen eine Abstraktion von vielen konkreten Vorgängen in der realen Welt.

    Abstrakte Malerei kann ich mir vorstellen, dafür gibt es ja gute Beispiele. Ein Abstraktes Gemälde lässt dem Betrachter viel Spielraum für seine Fantasie, und es bleibt ihm überlassen ob er darin etwas Konkretes hineininterpretiert. Abstrakte Musik gibt es nicht, oder ist Musik immer abstrakt?

    In der Informatik kenne ich zum Beispiel abstrakte Klassen, die Methoden definieren, die ein bestimmtes Verhalten anbieten, deren konkrete Implementierung offen bleibt. Damit wir eine flexible Schnittstelle festgelegt. Das ist sehr praktisch und einfach zu Begreifen.

    Ceterum censeo Abstrakt ist das Gegenteil von Konkret.... ;)

    AntwortenLöschen
    Antworten
    1. Es geht wie bei vielen Diskussionen mit meinem philosophisch angehauchten Kollegen Wedekind darum (a) ob der aus der Philosophie (Platon, Kant) stammende Begriff der Abstraktion überhaupt in der Informatik sinnvoll benutzt werden kann und (b) ob die derzeitige Nutzung konsistent ist mit der Nutzung in der Philosophie und Mathematik. Ich bestreite beides, konnte aber bisher nicht überzeugen.

      Löschen
  2. Zur abstrakten Syntax fällt mir ein: Da malt man Bäume ohne Blätter, also ohne Terminalsymbole. Man hätte also auch von blattloser oder kahler Syntax reden können. Das klingt aber weniger schön.

    AntwortenLöschen
  3. Obwohl die Menge der von mir als erlaubt erklärten Passwörter sehr groß ist (mit 40! hoch 12 oder etwa 10 hoch 60 Elementen), ist sie endlich. Ich hielt solche Mengen bisher für konkret. Das gleiche gilt für die Menge ganzer Zahlen, die eine bestimmte Maschine verwenden kann. Die mathematisch definierten ganzen Zahlen, wenn als Menge betrachtet, sind zweifellos ein Abstraktum. Genau um diesen (kleinen) Unterschied ging es mir in der Diskussion.

    AntwortenLöschen
  4. Peter Hiemann aus Grasse schrieb:
    ich habe etwas gefunden, was zum Thema A 'passt':

    Mehr Widerhall hat die Mathematische Logik gefunden, vermutlich, weil sie auf den universalen Anspruch verzichtet: Sie will weder von allen verstanden werden noch alles benennen. Gottlob Frege, einer ihrer Väter, rühmte ausdrücklich die „Weichheit und Veränderlichkeit“ der Wortsprache, weil dies zugleich „Entwicklungsfähigkeit und vielseitige Tauglichkeit“ bedeute. ...

    Frege selbst schuf [für sich] die Zeichen, die er forderte. Sie sind unpopulär geblieben (und durch eine Schreibmaschine nicht wiederzugeben); in dem engen Teilbereich der logischen Beziehungen haben sie Nutzen gestiftet. Carnap betonte 1934 noch einmal die Selbstbeschränkung: Er [be]handle nur die formale Seite der Sprache - „eine eigentliche Sprache hat darüber hinaus andere Seiten“. Und doch: Da scheint nicht selten die Lust an einem Spiel mit erfundenen Zeichen mitzuschwingen, „das zwar einwandfrei 'richtig' ist“, wie Jaspers meint, „aber über den Kreis der am Spiel sich Erfreuenden keine Wirkung auf irgendeine gehaltvolle Erkenntnis gezeigt hat“.

    Quelle: Wolf Schneider: „Wörter machen Leute – Magie und Macht der Sprache"

    AntwortenLöschen
  5. Hartmut Wedekind aus Darmstadt schrieb:

    Hören und sehen Sie sich mal das Interview mit Willard Quine von Bryan Magee an. Ich habe es in einem Buch von Magee vor mir liegen. Und dann reden wir darüber. Das Schönste ist noch aus meiner Sicht das Englisch, das gesprochen wird. Aber Zahlen werden als abstrakte Objekte anerkannt. Donnerwetter! https://www.youtube.com/watch?v=1iZvycU3I9w

    AntwortenLöschen
    Antworten
    1. Das Interview gefällt mir. Wie Quine akzeptiere ich 'abstrakte Objekte' nur den (armen) Mathematikern zuliebe. Nur so können sie über Zahlen und Mengen so weiterreden wie bisher.

      Löschen
    2. Hartmut Wedekind erwiderte:

      Statt in den Höhen der Abstraktion landet man regelmäßig im Sumpf der Lehrmeinungen. Das war schon zu Freges Zeiten so.

      Löschen
    3. Beides ist gleich schlimm. Ich hatte von der Informatik, die ich übrigens schon 60 Jahre lang betreibe (zuerst unter anderem Namen), immer eine etwas höhere Meinung als von Ihnen gerade ausgedrückt. Ingenieure und Informatiker rennen manchmal Hypes nach. Sie streiten aber nicht darüber, ob das was sie bauen, konkret vorhanden oder nur gedacht (also abstrakt) ist.

      Löschen