Samstag, 16. März 2013

Abstraktion oder Aggregation – was bringt uns weiter?

In einem Eintrag im Mai 2012 dieses Blogs wurde das Begriffspaar Abstrakt-Konkret wegen seiner Bedeutung in der Informatik kurz diskutiert. Dem Kollegen Hartmut Wedekind [1] folgend habe ich vor allem die Bedeutung im Sinne der mathematischen Logik hervorgehoben. Ein Beispiel, das dies illustriert, lautet:

2 Äpfel, 3 Birnen, 6 Erdbeeren und 10 Weintrauben → 21 Stücke Obst, oder besser etwa 2 Kilo Obst
  
Obst ist hier eine Abstraktion für vier vorkommende Obstarten. Würde man Äpfel aufteilen in Cox Orange, Granny Smith, Renette, Schöner aus Boskoop und Weißer Klarapfel wäre das eine Konkretisierung, also die Umkehrung einer Abstraktion. Eng damit verwandt ist die Differenzierung. Zum Konkretisieren holt man die Äpfel aus dem Baum. Zum Differenzieren wird gemessen und gewogen. Im Englischen würde das Wort Diskriminierung (engl. to discriminate) besser passen. Im Deutschen hat es aber eine Wertverschiebung erfahren. Die Mehrdeutigkeit von Differenzieren (engl. to differentiate) ist leichter zu verkraften.

Differenzierung und Konkretisierung tut not

Nicht nur Wedekind, auch viele andere Kollegen, bemühten sich, ihren Schülern und Studenten klarzumachen, wie wichtig für sie Abstrahieren sei. Dies ist leider nur die Hälfte der Geschichte. Der Denkfehler scheint historisch bedingt zu sein. In den Anfängen der automatischen Datenverarbeitung, insbesondere in der so genannten Lochkartenzeit, war es ein ökonomisch wichtiges Prinzip, das zu dieser Blickwinkelverengung führte. Es mussten Abstraktionen gesucht werden, um Effizienz zu erreichen. Was wirtschaftlich geboten war, wurde zu etwas Gutem erklärt. Inzwischen ist es an der Zeit, um umzudenken.

Unsere Technik hat ein Stadium erreicht, in dem sie uns nicht mehr zum Abstrahieren zwingt, zu Beschränkungen der Individualität. An die Stelle einer Nummer dürfen wieder Name und Adresse treten, sogar in Groß- und Kleinschreibung und mit Umlauten. Damit können Kunden, Mitarbeiter, Produkte oder Bauteile identifiziert werden. Die Technik kann helfen, unerwünschte Gleichschaltungen zu vermeiden. Anstelle einer Vermassung durch Automation kann die Individualisierung dank Technik treten, eine Explosion von Ausprägungen, eine Präferenz für Vielfalt. Computer haben keine Angst vor Komplexität, lediglich ihre Programmierer. Kundenspezifische Massenfertigung (engl. mass customization) sollte nicht auf den Automobilbau beschränkt bleiben, sondern kennzeichnend für jedes moderne System sein, vor allem für solche, die mit Menschen zu tun haben.

Lernen sollten junge Menschen, dass die Differenzierung immer Vorrang hat. Wenn wir nicht differenzieren, brauchen wir auch nicht zu abstrahieren. Abstrahieren ist nur eine Hilfe, allerdings eine sehr wichtige. Ohne sie erhält unser Weltbild keine Struktur. Normalerweise erfolgt die Strukturierung erst anhand vorhandener Objekte, nicht vorher. Apriorismus nennen die Philosophen diese fragwürdige Tendenz. Nachdem wir erkannt haben, dass Äpfel und Birnen sich unterscheiden, stellen wir später fest, dass sie einiges gemeinsam haben. Das Gemeinsame erkennen wir – zum Beispiel auf dem Marktplatz  ̶  daran, dass sie am selben Stand angeboten werden. Käse, Milch und Hühner gibt es woanders. Durch das Klassifizieren in Objekthierarchien ordnen wir die Welt. Mit Änderungen des Wissens ändert sich auch die Struktur, die wir ihm aufgeprägt haben. Für dynamisch sich ändernde Wissensgebiete kann eine zu starre Denkstruktur zur Belastung werden.

Viele von der Mathematik beeinflusste Kollegen werden sagen: ‚So what!‘ Wir liefern doch nur die gedanklichen Werkzeuge, um mit Abstraktionen und Differenzierungen umzugehen. Ob sie angewendet werden, überlassen wir den Nutzern. Diese Haltung sollten wir als Unprofessionell brandmarken. Meines Erachtens geht die Verantwortung von Pädagogen und Wissenschaftlern über das Auflisten von Alternativen hinaus. Sie sollten dabei helfen, das Wissen der Welt optimal zu strukturieren. Was sein persönliches Optimum ist, muss jeder selbst lernen.

Der wissenschaftliche Fortschritt rührt primär daher, dass wir lernen besser und genauer zu unterscheiden. Daher ist es besser, wenn junge Menschen angehalten werden auf Nuancen zu achten. Jede Verallgemeinerung birgt nämlich große Gefahren in sich. Ein guter Leitspruch könnte lauten: ‚Abstractions considered harmful‘. Es folgen einige Beispiele.

  •    Rechner haben unendlichen Speicherplatz
  •    Es gibt unendlich viele ganze Zahlen
  •    Gleitkommazahlen stellen reelle Zahlen dar
  •    Computer sind mathematisch genau rechnende Maschinen
  •    Alle Nutzer sind gleich erfahren oder unerfahren
  •    Meine Programmiersprache ist für alle Nutzer gleich gut
  •    Flatrate lässt allen Nutzern freien Spielraum
  •    Werbefinanzierte Leistungen kosten den Nutzer nichts, usw.

Auch in der Naturwissenschaft erfolgen Verständnis und Fortschritt eher durch Differenzierung als durch Verallgemeinerung. Die Geometrie stellt zwar Kreis und  Kugel deshalb in den Mittelpunkt, weil sie leicht zu definieren und zu zeichnen sind. Sie sind jedoch schwierig herzustellen und kommen in der Natur in reinster Form äußerst selten vor. Dieser Tage zeigte selbst der Saturnmond Rhea sein vernarbtes Gesicht. Er zeigte uns seine Geschichte und seine Persönlichkeit. Die Technik schließlich gelangt nur dann zu originellen Lösungen, wenn sie sich vor allzu leichten Verallgemeinerungen hütet. Je konkreter sie bleibt, umso besser. Da sie dem Menschen dient, sollte sie Abstraktionen vermeiden, so gut es geht. Es sind nicht die Abstraktionsleistungen, die zu Entdeckungen und Erfindungen führen, sondern neue Differenzierungen.

Nur die Mathematiker wagen es mitunter zu sagen, dass regulär (also niedrige Variationsvielfalt) schön sei, und dass schön zu sein als Grund gilt, wahr oder richtig zu sein. Die mathematische Theorie der Ästhetik hat da ihre Wurzeln. Moderne Schönheitschirurgen verdienen sogar sehr viel Geld damit, dass viele Frauen glauben, von der Differenzierung durch die Falten des Alters müsste man abstrahieren. Diese bewusst zu akzeptieren, wäre vielleicht klüger.

Um von den Beispielen aus Technik und Wissenschaft zu verallgemeinern, begebe ich mich auf ein Terrain, das voller Schlaglöcher ist, die Politik. Einerseits  werden tradierte Klassifizierungen als unpassend erklärt, etwa die als Behinderte, Neger oder Zigeuner. Andererseits werden Unterschiede zwischen Jungen und Alten, Frauen und Männern,  Begabten und Unbegabten, Faulen und Tüchtigen, usw. wegdiskutiert. Es wird nivelliert, auch da, wo es keinen Sinn macht. Auf Unterschiede hinzuweisen, ist politisch nicht mehr korrekt. Wir neigen dazu, möglichst alle Bürger über den gleichen Kamm zu scheren, statt ihre Individualität anzuerkennen oder zu betonen.

Nicht alle Strukturen sind Hierarchien

Wenn Mathematiker an Strukturen denken, denken sie sehr oft nur an Hierarchien. Das sind (umgekehrte) Bäume oder azyklische Graphen. Manche Anwendungen in der Informatik kommen sogar damit aus. Im Normalfall haben wir es mit Netzstrukturen zu tun. In Unternehmen, wo Mitarbeiter fast immer von mehreren Personen oder Funktionen (fachliche, rechtliche oder finanzielle) Anweisungen erhalten, spricht man von heterarchischen Strukturen.



Das beigefügte Bild versucht eine Heterarchie zu veranschaulichen. Es sind vier Halbordnungen angedeutet, in denen der Begriff ‚Mitarbeiter‘ vorkommt. Stellt man sich für jeden anderen Begriff eine ähnliche Figur vor, entsteht ein Netz. Wenn man sich Tausende solcher Netze vorstellt, bekommt man einen Eindruck davon, mit was Informatiker sich beschäftigen sollten. Ganz ohne Hoffnung bin ich nicht. Vermutlich ist Google längst auf diesem Weg.

Nur Aggregationen führen zur Automation

Abstraktionen dienen primär dazu, Informationen, die im Moment nicht benötigt werden und daher nur belasten, gedanklich abzuschütteln. Wir bilden Äquivalenzen von Dingen, die eigentlich keine sind, und tun so, als ob sie existierten. In der Informatik müssen immer wieder konkrete Daten zu Gruppen zusammengefasst und in ihrer Gesamtheit angesprochen werden. Dabei darf normalerweise keine Information verloren gehen. Von einer automatischen Vergessens-Funktion ist in diesem Zusammenhang manchmal die Rede. Da ein befriedigender Algorithmus bisher noch nicht gefunden wurde, begnügen wir uns meist mit einer automatischen Auslagerung innerhalb der Speicherhierarchie. Noch sammeln und speichern wir jedes Jahr mehr Exabytes (1018 Bytes) an Daten als im Jahr davor. Dank Informatik fehlt es nicht an Medien und Geräten, die für eine sinnvolle Weiterverarbeitung dieser Datenmassen geeignet sind. Nur die Software hinkt nach.

Die Informatik hat seit ihren Anfängen mit den unterschiedlichen Aggregationsformen von Daten und Informationen experimentiert. Bei kommerziellen Anwendungen sind Dateien und Datenbanken das Rückgrat für formatierte Daten. Für Text, Bild und Ton gibt es jeweils eigene Formate. Techniker begannen mit Vektoren und Matrizen, haben dann für jedes Teilgebiet weiter Formen von Datenkollektionen standardisiert. Sehr schnell stößt man aber an Grenzen der Austauschbarkeit.

In der kaufmännischen Informatik wird dieses Problem durch eine indirekte Lösung adressiert. Ausgewählte Datenbanken werden periodisch in ein ‚Data Warehouse‘ übertragen. Dabei durchlaufen sie einen Umformungsprozess, auch ETL-Prozess (Extract, Transform, Load) genannt. Anhand eines OLAP-Würfels (engl. online analytical processing cube) werden dann die Projektionen der Daten gebildet, die für  statistische Analysen benötigt werden.

Ähnliches ist mir für technische Daten nicht bekannt. Was die Daten eines komplexen Teiles im Auto- oder Flugzeugbau beschreibt, hat keinen Bezug zum Bauwesen oder der Vermessungstechnik, von Anatomie, Astronomie, Biologie, Chemie und Geologie ganz zu schweigen. Sollte es nicht von Vorteil sein, wenn alle diese Daten eine gemeinsame Form der Beschreibung hätten? Bitketten und Zeichenfolgen scheinen mir ein äußerst primitives Niveau der Daten-Kommunikation zu sein. Mögliche Lösungen findet man bestimmt nicht in Mathematik-Büchern. Suchen sollte man sie in Produkt-Spezifikationen oder Patenten von Computergrafik-Anbietern wie Adobe, AutoCAD oder Wolfram Research.

Quintessenz

Wir sollten die Unterschiede mehr betonen als die Gemeinsamkeiten. Der Schritt zur Abstraktion heißt nämlich zu oft, dass man aus der Realität und der individuellen Verantwortung entfliehen möchte ins Unverbindliche, in die ideale Welt ohne Grenzen und Beschränkungen. Weder die grüne Wiese ist das Ideal der Ingenieure, noch das Abstrakte. Nicht alles Konkrete muss aus Beton sein (engl. concrete).

Die Informatik sollte keine Angst vor nicht-hierarchischen Strukturen haben. Die Welt ist voll davon. Auch sollte man über mächtige und flexible Aggregationen nachdenken. Langwierige Transformationen sind nur die zweitbeste Lösung. In der augenblicklichen historischen Situation sind sie durchaus akzeptabel. Informatiker dürfen, ja sollten aber auch nach langfristigen, optimalen Lösungen suchen. Die Branche hat bereits Schlagworte wie ‚Big Data‘ und ‚Sharing‘ zur Hand.

Die Informatik kommt nicht umhin, sich von der Denkweise und den Zielen der Mathematik zu befreien. Was die als Fußgängerin groß gewordene Leihmutter Mathematik kennen und lieben gelernt hat, mag den Auto fahrenden und Flugzeug fliegenden Kindern und Enkeln nicht immer helfen. Nach über 50 Jahren sollte die Informatik sich von mathematischen (oder gar philosophischen) Denkmodellen zu lösen beginnen und langsam damit anfangen, selber zu denken.

Zusätzliche Referenz

  1. Wedekind, H., · Ortner , E., ·Inhetveen, R.: Informatik als Grundbildung, Teil III: Gleichheit und Abstraktion. Informatik-Spektrum 27,4 (August 2004), 337-341 

Nachtrag am 25.3.2013 von Hartmut Wedekind:

Ein kurzer Bericht ist beigefügt über eine philosophische Podiumsdiskussion in Darmstadt. Der Bericht hat den Titel ,Richtung und Sinn als Abstraktion'. 

NB: Die Diskussion des Themas Abstraktion wird außer in den beigefügten Kommentaren auch in einem späteren Eintrag wieder aufgegriffen.

Montag, 11. März 2013

Unterstützen Programmiersprachen die Anwender optimal? (mit Kommentaren)

[Dieser Beitrag wurde am 11. 4. 2013 von dem Kollegen Hans-Jürgen Hoffmann aus Darmstadt im Detail kommentiert. Er vertrat während seiner aktiven Zeit als Hochschullehrer das Fachgebiet Programmiersprachen. Mit so viel Zustimmung hatte ich nicht gerechnet. Hoffmann hat seine Kommentare in meinen Text hineingeschrieben - ein Novum für diesen Blog. Ich habe sie dort gelassen und nur mit eckigen Klammern eingefasst. Normalerweise erscheinen sie in roter Farbe]

Mit dieser Frage stoße ich mal wieder mitten ins Herz der Informatik. Sie berührt das professionelle Selbstverständnis von Informatikerinnen und Informatikern. Die Frage interessiert natürlich Nicht-Informatiker ebenso. Dabei bezieht sich das ‚ebenso‘ nur auf die Intensität, nicht auf die Richtung des Interesses. Zu den Lesern dieses Blogs rechne ich fast so viele Informatiker wie Nicht-Informatiker. Dieser Beitrag verfolgt nicht den Zweck, letztere abzuhängen. Also bitte etwas Geduld, auf beiden Seiten!

Die meisten Aktivitäten von Informatikerinnen und Informatikern haben das Ziel, die Benutzung von Computern zu erleichtern. [Leider wird das oft missachtet!] Wie weit man dabei gehen kann und gehen soll, darf durchaus diskutiert werden. Eine extreme Position wurde von Edsger Dijkstra, einem Altvater der Informatik, ausgedrückt, als er sagte: ‚Software Engineering ist der Versuch, Leuten, die nicht Programmieren können, das Programmieren zu ermöglichen.‘ (EWD1036) Mit anderen Worten: Nur Menschen mit ungewöhnlicher Begabung sind als Programmierer geeignet. [Na ja, etwas abgehoben! Ich denke da z.B. an das Verwenden von EXCEL, was ja auch eine Form von Programmieren ist; selbst Sekretärinnen und Kaufleute können das und viele mehr. VISICALC war da der Durchbruch!] Das andere Extrem steckt in dem Buchtitel ‚Anwendungsentwicklung ohne Programmierer‘ von James Martin. [Tut mir leid, jede Anwendungsentwicklung enthält Programmieraufgaben.] Martin ist bei Informatik-Anwendern etwa so bekannt wie Dijkstra bei Informatikern. [Sie schreiben von Extrema; heutzutage sollte da an einen Mittelweg gedacht sein.] Dass Computer-Nutzung nicht an individuelles Programmieren gebunden ist, ist ein anderer wichtiger Aspekt, auf den hier nicht eingegangen werden kann.

Über den Umfang des Begriffs Programmiersprachen wurde auch immer wieder diskutiert. Viele Kollegen vertreten die Meinung, dass jede Kommunikation mit einem Rechner (wie zwischen Menschen) nur mittels Sprache erfolgt. Es ist dann alles nur eine Frage von Syntax, Semantik und Pragmatik. Die Bewegungen und Tasten einer Maus kann man als Sprache interpretieren, ebenso wie die Eintragungen in einem Spreadsheet. [Diesen  Kollegen schließe ich mich an.] Im Folgenden denken wir nur an spezielle Notationen, deren Semantik es erlaubt, ablauffähige Maschinenprogramme zu erzeugen. [O.k.] Der Begriff der Turing-Vollständigkeit geistert durch die Fachwelt. Je nachdem wie man zählt, wird geschätzt, dass  es zwischen 1000 und 2000 Programmiersprachen gibt. [Sie kennen sicher auch noch die Zusammenstellungen, die Jean Sammet in den 70ern jährlich in den SIGPLAN Notices veröffentlichte; kam sie damals nicht schon auf solche Zahlen?]  Etwa ein Dutzend davon haben [betrachtet aus heutiger Sicht,] eine Verbreitung erreicht, die für den Anwender von Belang ist. (Einige) Andere davon sind nur noch von historischer Bedeutung, d.h. [sie haben sich nicht bewährt, benötigte Rechnerplattformen sind nicht mehr verfügbar, sie waren gar nicht oder nur mangelhaft vermarktet,] ihre Benutzer sind nicht mehr beruflich aktiv oder bereits verstorben.

Als Anwender bezeichne ich im Folgenden primär Ingenieure. Kaufleute und andere Nicht-Informatiker. Denkt ein Ingenieur oder Kaufmann ans Programmieren, dann denkt er vor allem an technische oder kaufmännische Berechnungen, weniger an Systemprogramme. Das gilt für Bau- und Vermessungsingenieure, aber auch für Maschinenbauer und Elektro-Ingenieure. Aber auch für Buchhalter, Statistiker, Vertriebsmitarbeiter und Planer. Für den Fortschritt der Technik ist die Automatisierung technischer Berechnungen und technischer Prozesse von ausschlaggebender Bedeutung. Auch die immer größer werdenden Massen betrieblicher Daten sind nur noch durch Computer in vertretbarer Zeit zu bewältigen. Kein Problem ist daher wichtiger, als mit dieser Vielfalt von Daten und Anwendungen fertig zu werden.

Stattgefundene Entwicklung

Vor etwa 40 Jahren waren Programmiersprachen und deren Übersetzer mein Hauptarbeitsgebiet. Es war dies die Zeit der problem-orientierten Sprachen (engl. problem oriented language, Abk. POL). Nach Erfahrungen in der Anwendung von Commercial Translator, COBOL und Fortran war ich an der Definition von PL/I beteiligt. Das primäre Ziel dieser Bemühung war es, die Zersplitterung der Nutzergemeinde von Rechnern zu verhindern. Der Kampf tobte primär zwischen technischen und kaufmännischen Nutzern. Durch die Schaffung der Architektur des System/360 durch Gene Amdahl, Fred Brooks und Gerry Blaauw war es gelungen, die auseinander strebenden Hardware-Familien wieder zu vereinen. Die Software-Gemeinde der IBM erhielt den Auftrag, das gleiche Ziel für die höheren Programmiersprachen anzustreben und in entsprechende Produkte umzusetzen. Das Team um George Radin, Jim Fox, Paul Rogoway, Bernice Weitzenhofer und andere stellten sich der Aufgabe. Das Ergebnis war die Sprache PL/I. Waren die beiden genannten Ziele bereits unverträglich, so kam während ihrer Definition noch eine dritte Zielsetzung hinzu. Die neue Sprache sollte auch die Anforderungen einer System-Implementierungssprache (engl. system implementation language, Abk. SIL) erfüllen. Auch dieses Ziel wurde durch die Addition von Datentypen wie Bit-Ketten [ich verwende da lieber den Begriff „Reihe“: „Reihe“ ist auch eine mögliche Übersetzung für „string“ und m.E. sinngemäßer – mittlere „Reihenglieder“ haben immer genau zwei Nachbarn, eine Vorstellung bei diesen Datentypen; das trifft zwar meist auch für mittlere „Kettenglieder“ zu, es gibt aber auch die Möglichkeit, dass noch ein drittes oder weiteres Glied daran eingehängt ist (und das wäre nicht sinngemäß)] und Zeiger gelöst. Die sich ergebende Sprache war erst recht überladen.

Das Schicksal von PL/I interessiert heute nur noch Historiker. Es war eine Illusion zu glauben, kommerzielle und technische Anwender würden sich mit einer gemeinsamen Sprache abfinden. Im Ergebnis wurde PL/I zur populärsten Zweitsprache. Wollten COBOL-Nutzer etwas mehr Formeln [wie bei Algol] haben, oder Fortran-Nutzer bessere Datei- und I/O-Formate [die es bei Algol nicht gab, wenn ich diese Programmiersprache sozusagen als Referenzsprache wähle] dann griffen sie zu PL/I. [in beschränktem Umfang bot PL/I die Möglichkeit,  an die jeweilige Programmieraufgabe angepasste Datentypen in einem Programm zu definieren, die dann besonders Pascal als Referenzsprache aufnahm]  Durch Minirechner und PCs wurden alle (drei) [fünf] Sprachen in den Hintergrund gedrängt – im wörtlichen Sinne. Algol war und blieb ein Steckenpferd europäischer Hochschulen. [Pascal fand mehr Verbreitung, besonders auch bei Hobby-Programmierern und zu Unterrichtszwecken, ist aber bedauerlicherweise auch schon (fast) vergessen, too small to survive.]  Da die neuen, zunächst leistungsschwächeren Rechner sich nicht den Komfort einer guten kommerziellen und einer guten technischen Sprache leisten konnten, machten neben BASIC die eigentlichen SILs das Rennen. Dank Unix wurde es vor allem die Sprache C. Über C++ ging die Entwicklung zu Java. Der Rest ist Geschichte. Kaufleute und Ingenieure hatten das Nachsehen. Das ist – sehr verkürzt  ̶  meine persönliche Sicht der Dinge. [obwohl ich auch Eiffel-Fan war und bin, würde ich es stattdessen vorziehen, Smalltalk aufzunehmen – Wegfall des Programmier-Übersetz-Binde-Ausführ-Zyklus beim (Weiter-)Programmieren, interaktiv, selbst-reflektiv, ein Vorgehen/eine Möglichkeit, die sich leider in den heute verbreiteten Sprachen kaum realisiert findet. Aus Eiffel sollte selbstverständlich das Verständnis by contract mit Vor- und Nachbedingungen und Objektbedingungen – die Bezeichnung „Klassenbedingung“ finde ich nicht so glücklich – weitere Verbreitung erhalten, auch und besonders überprüfbar zur Übersetzungszeit, leider eine ziemliche Vision meinerseits!] 



In der ersten der beigefügten Skizzen stellt jede Schicht etwa ein Jahrzehnt dar. Die unterste Schicht entspricht der Zeit um 1960. Alle Neuentwicklungen drängten nach rechts. [Da würde ich Assembler nach links setzen, ebenso auf der zweiten Schicht Algol – sonst sehr anschaulich! Diesem Vorschlag folgend müsste allerdings die Bildüberschrift neu bedacht werden.] Die linke Seite verödete. Es ist mein Eindruck, dass die Autoren von frühen Sprachen sehr stark auf ihre Kunden hörten. Sie taten es, weil sie noch glaubten, Anwendern entgegenkommen zu müssen. Sie bemühten sich, deren Wünsche zu erfüllen. Spätere Sprachen wie Pascal, C und Eiffel wurden von Systementwicklern für Systementwickler entworfen. Die Anwender in der Wirtschaft mussten nehmen, was sie bekamen. Als erstes fiel die Dezimalarithmetik weg. Sie war der Kern von COBOL und ein dicker Brocken in PL/I. Das Konzept der Sätze (engl. records), ein anderer zentraler Baustein von COBOL, wurde in Pascal neuentdeckt. Das Konzept der Formate (engl. pictures) versank im Orkus.  Die Rettungsanker der Techniker und Kaufleute wurden Pakete wie Mathematica und SAP R/3. Da sich immer mehr Anwender an sie klammerten, ist dies beiden Seiten, d.h. ihren Entwicklern und Nutzern, nicht schlecht bekommen.

Generell ist die explizite Beschreibung von Formaten (ebenso von Text-Layouts) weitgehend ersetzt worden durch eine oft interaktiv gewonnene implizite Festlegung anhand von Beispielen. In der Textverarbeitung spricht man vom WYSIWYG-Prinzip. In dem Maße, wie die Ausgabe eher auf einen Bildschirm als auf einen Drucker gelenkt wird, werden die exakten Datenformate nicht im Programm selbst, sondern durch einen grafischen Editor separat spezifiziert und weggespeichert. Es würde zu weit führen, auf die Vielzahl möglicher Lösungen einzugehen. In der Tendenz wird das eigentliche Programmieren immer mehr reduziert auf die Festlegung der reinen Verarbeitungslogik. Davon losgelöst erfolgt eine starke Strukturierung und Selbstbeschreibung der Daten. Besonders geglückt ist dies bei Text-, Bild- und Tondaten (Beispiel MIME-Protokolle).

[In obiger Skizze treten auch zwei als „objektorientiert“ bezeichnete Sprachen auf – C++ und Java –, ab der vierten Schicht, also etwa ab 1990 – obwohl es da auch Vorläufer in tieferen Schichten gab/gibt, würde ich da der begrifflichen Klarheit wegen als Referenzsprache auch Smalltalk aufnehmen wollen – eine Entwicklung, zu der m.E. noch etwas gesagt werden sollte].

Nicht stattgefundene Entwicklung

Obwohl im Prinzip große Fortschritte erzielt wurden, möchte ich im Folgenden andeuten, was Ingenieuren und Kaufleuten bisher entgangen ist. Es besteht nach meiner Ansicht immer noch ungenutztes Potential vor allem bei technischen Anwendungen. Ich beziehe mich im Folgenden im Wesentlichen auf einen Vorschlag, der in [1] (S. 348-368) dokumentiert wurde. Ich würde dieses Konzept heute als problem-orientierte oder konkrete Typen bezeichnen. Der Vorschlag [ich unterstütze dieses sehr] geht auf den früheren Kollegen Ed Lowry [2] zurück und stammt aus dem Ende der 1960er Jahre. Es gab um diese Zeit bereits Intervall-Arithmetik [Neben-bemerkung, Hinweis auf die Dissertation von Dr. Kunstmann [3], von mir um die Jahrtausendwende betreut, die dieses Konzept (Intervall-Arithmetik) bei einem in Smalltalk unter Ausnützen auch von Interaktion und Selbst-Reflexion programmierten Kalkulationsprogramm realisierte, einschl. dem Mitführen physikalischer bzw. kommerzieller(!) Maßeinheiten (!!). Herr Gunzenhäuser war da freundlicherweise Korreferent], aber auch Sprachen [im Stil von APL], die Vektoren und Matrizen als das behandeln, was sie für Ingenieure sind, nämlich Datentypen, die man geschlossen manipulieren kann, d.h. ohne ihre interne Struktur und ihre Speicherung zu kennen.

Der Kern des Vorschlags bestand darin, Programmen mehr als nur die elementaren Trägertypen (integer, float, char) mitzuteilen. In der Technik sowohl wie im Kaufmännischen gibt es nur wenige Fälle so genannter dimensionsloser Zahlen. Fast immer haben Zahlen eine Dimension (hier im ingenieurmäßigen Sinne). Sie stellen dann nicht nur abstrakte Werte dar, sondern Größen. Im Kaufmännischen sind es Währungsbeträge (€, US$, £, ¥) [und Zeiträume (pro Jahr oder pro Person, Geschäftsvorfall, … z.B.)], im Technischen sind es Längen, Gewichte, Zeiten, Spannungen, Widerstände oder Leistungen. Diesen Dimensionen einer Größe sind Maßeinheiten zugeordnet. Alle Zahlen erhalten einen Sinn erst durch die Einheit, in der sie ausgedrückt sind. Die Zahl 42  ̶  den Anhängern von Douglas Adams bestens bekannt  ̶  kann Millimeter, Meter oder Kilometer sein, oder aber Stunden oder Tonnen. Selbst dann sagt sie noch nicht allzu viel. Es fehlt die Semantik.

Viele Verbesserungen, die in der Programmierung möglich sind, haben damit zu tun, wie Wertebereiche von Variablen spezifiziert werden, und wieweit eine daraus sich ergebende maschinelle Prüfung möglich ist. Oder umgekehrt, viele Probleme, die beim Testen von Programmen oder später auftreten, sind dadurch verursacht, dass Wertebereiche zugelassen waren, die man nicht überblickte. [etwas Vergessenes aus Pascal!]

Ich erwarte eigentlich heute von jeder Programmiersprache, dass sie Datentypen verwendet, die aus der Welt der Nutzer stammen. Angenommen, es gäbe den Typ Uhrzeit. Er müsste zusammengesetzt sein aus den Einheiten Stunde (h), Minute (min) und Sekunde (sec). Dabei würden alle drei extern durch ganze Zahlen dargestellt, die wie üblich beschränkt sind. Andere Werte würden nicht zugelassen.

type Uhrzeit: h.min.sec; h: 0..23; min, sec: 0..59

Ich gehe davon aus, das Rechner-intern die benutzten Einheiten eines Typs immer umgerechnet würden auf die jeweils niedrigste Einheit, z. B. eine Minute in 60 Sekunden,  sowie eine Stunde (1 h) in 3600 Sekunden. Erst beim Ausgeben würde automatisch auf das externe Format zurückverwandelt. Bei der Währungseinheit Pfund Sterling würden alle Beträge intern immer in Pence dargestellt.

Ein Typ Kalender_Datum könnte extern als aus drei Teilen bestehend dargestellt werden.

type Kalender_Datum: Jahr.Monat.Tag; Jahr: 1945..2013; Monat: 1..12; Tag: 1..31;

[ganz ausgefeilt sogar die Tagesgrenzen abhängig von dem Monatswert, Schaltjahre nicht vergessen]. Bei diesem Typ würden alle Termine intern in der Form des so genannten Julianischen Tags dargestellt. Durch objektorientierte Sprachen wie [Smalltalk,] C++ und Java lässt sich ein ähnliches Konzept heute implementieren.

Der am weitesten gehende Teil des Vorschlags ließ sich von folgender Überlegung leiten. Schreibt ein Kaufmann eine Zahl, denkt er fast immer an eine Währung. Schreibt ein Techniker eine Zahl, denkt er an eine technische Maßeinheit. Alle Formeln, die ein Ingenieur benutzt, sind im Grunde Größengleichungen. Er muss sicherstellen, dass die Dimension stimmt. Die Operanden von Additionen und Subtraktion, oder die linken und rechten Seiten einer Zuweisung müssen sowohl bezüglich Einheit wie Dimension übereinstimmen, d.h. sie müssen typengleich sein. Durch Multiplikation oder Division entsteht ein neuer Typ, gebildet als Typausdruck der einzelnen Faktoren oder Divisoren. Außerdem können alle Größen zahlenmäßig beschränkt sein. Oft sind sie nur positiv, also größer oder gleich Null.


Unter Verwendung der in der oben stehenden Tabelle erwähnten Einheiten könnte eine Variablen-Erklärung wie folgt vorstellbar sein.

type kW: 1000*W, zeit: h.min.sec, euro: 0..500
var Leistung: kW;  Verbrauch: kW*zeit; Preis: euro/(kW*zeit): Betrag: euro

Hier ist leicht ersichtlich, welche Wertebereiche jeweils erlaubt sind und welche Verknüpfungen der Werte Sinn machen. [der Idee von Pascal folgend, in solchen Erklärungen auch programmweite Konstanten zu verwenden, könnten z.B. an der oberen Grenze von euro sich auch über Inflationserscheinungen hinweg über Jahrzehnte gesicherte Programme entwickeln lassen – in einigen so genannten Scriptsprachen kann man das mit „SET“-Erklärungen ja auch bewerkstelligen] Es werden Myriaden von ungültigen Programmen bereits vor der Kompilation ausgeschlossen. Derartige Fehler durch statische Analyse zu finden, ist wesentlich kostengünstiger als sie durch Testen aufzudecken. [Diesen Überlegungen schließe ich mich voll an – wir sind beide eben von Haus aus Ingenieure!]

Bewertung und Diskussion

Mir ging es bei dem Vorschlag zunächst darum, Informationen, die der Anwender ohnehin haben muss, auch zur Problemspezifikation zu verwenden und nicht im Kommentarteil zu belassen. Nur was dem Rechner anvertraut wird, kann auch genutzt werden. Ein Rechner kann Dinge übernehmen, die bekanntermaßen für den menschlichen Programmierer schwierig sind. Dazu gehört alles, was mit  Bereichsüberschreitungen und Mannigfaltigkeit von Datenelementen zu tun hat. Deshalb sind Vektoren und Matrizen so nützlich.  

Ich wollte außerdem in der Lage sein, eine Klasse von Fehlern so früh wie möglich zu erkennen und zu beseitigen. Dadurch dass Information hinzugefügt wird [z.B. das „by contract“-Konzept], kann eine viel gründlichere Analyse von Programmen vorgenommen werden, als dies normalerweise der Fall ist. Der Wert des Quellcodes als Dokumentation steigt. Was nicht Teil des Quellcodes ist, muss mit großem Aufwand synchron gehalten werden, soll es überhaupt nützlich sein. Es kann auch in vielen Fällen das Schreiben der Anwendung vereinfachen. Das ist aber sekundär. Die  Komplexität von zugelassenen Ausdrücken kann radikal beschränkt werden. Nur als Nebenbemerkung: Für eine von mir entwickelte Theorie des Programmtestens ist dies ein wichtiger Baustein.

Die Begründung, mit der dieser Vorschlag seinerzeit abgelehnt wurde, will ich den heutigen Lesern nicht vorenthalten. Den Satz werde ich nie vergessen. ‚Dafür haben wir Mathematiker doch abstrakte Zahlen nicht erfunden, damit Ingenieure sie wieder abschaffen.‘ [vergessen Sie bitte nicht, das Zitat genauer einem Autor zuzuschreiben! War das Dijkstra, Hoare, Bauer? Es würde mich interessieren [4]] Wer sich wunderte, dass ich oft vor einer Überbetonung der Mathematik warnte, hier mag die Ursache liegen.

Die obigen Vorschläge wurden nie [teilweise in der Dissertation von Kunstmann [3] – siehe oben] implementiert und bei Nutzern getestet. Sie erfordern sicherlich eine beträchtliche Menge an Arbeit. Die Entwicklung nahm eine andere Richtung. Wir sind pfadabhängig, d.h. es gibt kein Zurück. Die Anforderungen, die sich zuerst durch Client-Server-Strukturen und später durch das alles bestimmende Internet ergaben, ließen die Unterschiede zwischen den einzelnen Nutzergruppen verblassen. Neue Probleme verdrängten die ehemaligen Differenzen. Eine Weiterentwicklung der Programmiersprachen, die stärker auf die unterschiedlichen Nutzergruppen eingegangen wäre,  ̶  also im Sinne von POLs  ̶  wäre ein alternativer Pfad gewesen. Hin und wieder gab es Fachtagungen, die sich dem Fernziel der anwendungs- oder problemorientierten Sprachen widmeten. Das war es aber auch schon. Oft wird der Ausdruck auch nur missbraucht, etwa um damit Datenbank-Abfrage-Sprachen oder Listprogramme zu bezeichnen.

Ich kann nicht ausschließen, dass ich Einiges übersehen habe, was dieses Bild etwas anders erscheinen lässt. Dann wäre ich den Lesern dankbar, die mich darauf hinweisen würden. Jeder hat das Recht, die Geschichte, die er erlebt hat, mit eigenen Augen zu sehen. Es wäre jammerschade, wenn es nur eine einzige Sicht gäbe.

[Prima, danke, weiterverbreiten! Und bitte, bitte, mich als den Ober-Ober-Lehrer entschuldigen, HJH]

Zusätzliche Referenzen
  1. Endres, A.: Analyse und Verifikation von Programmen, München: Oldenbourg 1977; 405 Seiten; ISBN 3-486-21361-X
  2. Lowry, E.S.: Proposed language extensions to aid coding and analysis of large programs. IBM Poughkeepsie, Tech. Report, TR 00.1934 (1969)
  3. Kunstmann, T. :  Rechnergestützte Simulation und Planung auf der Grundlage von Tabellenkalkulation.  ISBN-10: 3830006314;  ISBN-13: 978-3830006312
  4. Es gibt keine Literaturreferenz. Es war ein Firmenkollege, vermutlich Nat Rochester, dessen ich in diesem Blog gedachte, oder George Radin.

Nachtrag am 17.3.2013 und Kommentar von Hartmut Wedekind:

Das Thema Dimensionen hat Hartmut Wedekind  zu einem Kommentar veranlasst. Wie er darin zum Ausdruck bringt, sollte man auch heute (also 50 Jahre nach dem ursprünglichen Vorschlag) Größen nur als ‘Benutzerdefinierte Datentypen‘ in die Programmierung einführen dürfen. Obwohl Wirtschaftsingenieur scheint er auch vom mathematischen Purismus infiziert zu sein. Meine Hoffnung liegt jetzt ganz bei denjenigen Lesern, die in der Mathematik das große Repertoire hilfreicher Methoden und Werkzeuge schätzen, nicht jedoch die Zwänge einschränkender Denkschulen.

Es bedarf keiner tiefen Einsicht, um zu erkennen, dass im Falle einer Parfümmarke, die nach der Kölner Hausnummer 4711 benannt ist, die vier Ziffern nicht mehr als Zahl, sondern nur noch als Bezeichner benutzt werden. Dasselbe gilt auch für Teilenummern. 

Donnerstag, 7. März 2013

Retroviren - der Motor der Evolution?

Immer wieder überrascht die Biologie mit neuen Erkenntnissen. Wie keine andere Wissenschaft beeinflusst sie derzeit unser Weltbild. Wer glaubte, die Mechanismen und die Wirkungen der Evolution verstanden zu haben, muss immer wieder umdenken. Die kleinsten Organismen, die wir kennen, sind die Viren. Stellt man sich einmal eine Zelle als Fußballfeld vor, dann haben Bakterien die Größe eines Fußballs. Viren sind dann so groß wie die sechseckigen Lederstücke, aus denen ein Ball besteht. Ob sie zu der lebenden oder toten Materie gehören, hängt davon ab, wie man Leben definiert.

Retroviren sind eine Familie von Viren, deren Erbinformation in Form von Ribonukleinsäure (RNA) vorliegt. Anders als bei „normalen“ RNA-Viren aber muss die RNA von Retroviren zunächst einmal mittels reverser Transkription umgeschrieben werden, bevor sie in das Genom der Wirtszelle eingebaut und dort aktiv werden kann.

Am 6.3.2013 schrieb Peter Hiemann aus Zarzis in Tunesien:

Hier eine Zusammenfassung der neuen Erkenntnisse über Retroviren, die ich der Scobel-Webseite sowie der letzten Sendung entnommen habe:

„Eine entscheidende Rolle spielten Viren in der Evolution. Sie sind überall: im Meer, im Boden und in der Luft. Wir kennen noch nicht einmal einen Bruchteil. Der gesamte Planet ist eingehüllt in ein Netzwerk genetischer Wechselwirkungen. Welche Rolle spielen Viren dabei? Waren sie die erste Lebensform, jener Übergang von Chemie zur Biologie oder sind sie nur marodierendes Erbmaterial, parasitäre Großmoleküle im Reich des Lebendigen? Am Robert Koch-Institut forscht Norbert Bannert über Retroviren. Das sind Viren, die nur ein einfaches RNA-Genom haben und sich in das Erbgut ihres Wirtes einschreiben können. Es war eine Überraschung, als man eine große Anzahl von Retroviren im menschlichen Genom fand. Bannert sagt: "Die Erbinformation von endogenen Retroviren im Humangenom macht etwa 8,2 Prozent des gesamten Genoms aus und das ist etwa 20 mal so viel, wie wir an Genen haben."

Neben den rund 20.000 Genen des Menschen vereint unsere DNA also noch rund eine halbe Million Abschnitte aus Viren, die sich im Laufe der Evolution ins Erbgut geschrieben haben. Unsere DNA ist tatsächlich eine Art Virenmuseum. "Dieser Einbau zieht sich wahrscheinlich durch die gesamte Evolution hindurch. Die ältesten Sequenzen, die man noch als solche erkennt, sind etwa 100 Millionen Jahre in unserem Genom. Solche, die noch einigermaßen gut erhalten sind, sind etwa 40 Millionen Jahre alt", so Norbert Bannert. „Möglicherweise waren diese Retroviren der Motor der Evolution“

Wenn ich richtig verstanden habe, haben viele die von Joachim Bauer beschriebenen Transpositionselemente viralen Ursprung. Diese Elemente (auch Transposons genannt) bewirken die Verschiebung und Verdopplung genetischer Information, d.h. Veränderung des Genoms. Die wichtigste Erkenntnis für mich ist die Tatsache, dass die bei Manturana und Luhmann postulierte „Strukturkopplung“ Gestalt angenommen hat. Retroviren als unabhängige Strukturen der Außenwelt haben auf direkten Weg DNA Strukturen verändert.

Das Luhmannsche Evolutionsmodell (Kommunikationsmodell) kann also erweitert werden, um direkte Einflüsse von außerhalb existierenden Strukturen zu berücksichtigen. Das so erweiterte Modell erlaubt auch, die individuelle geistige Evolution durch kulturelle Einflüsse des individuellen Gehirns zu verstehen. Wenn ich das erweiterte Modell auf gesellschaftliche Institutionen anwende, stellt sich die Frage, was wirkt außerhalb dieser Institutionen auf die Gesamtgesellschaft, den Staat? Ich wage die Behauptung: Es sind die Weltanschauungen, die auf Mysterien, Religionen, Märkten (unsichtbare Hände) oder Wissenschaften beruhen. Vermutlich haben wissenschaftliche und handwerkliche Erkenntnisse den größten Einfluss. Man denke nur an die Durchdringung der Gesellschaften aller geschichtlichen Epochen mit Technologien. Insbesondere mit Technologien, die der menschlichen Kommunikation und Verbreitung von Information dienten: Schrift, Buchdruck, Radio, Fernsehen, Computer, Internet, individualisierte Kommunikationsnetzwerke.

Vielleicht ist Ihnen auch das kürzliche Spiegelgespräch mit dem Ameisenforscher Edward O. Wilson aufgefallen (Spiegel 8/2013). Während er (und auch ich) nichts von Dawkins „egoistischen Genen“ und daraus folgend von „Verwandtenselektion“ hält, scheint seine Evolutionshypothese sehr plausibel zu sein. Wilson ist überzeugt, dass die biologische und soziale Evolution des Homo Sapiens mit „Gruppenselektion“ erklärt werden kann. Wilsons Arbeitshypothese (wie auch Luhmanns) beruht auf der Fähigkeit zur Kommunikation. Bei Ameisen auf der relativ einfachen Sensibilisierung von Pheromonen. Wilsons Hypothese bedeutet aber auch, dass die direkte Durchdringung von biologischen, geistigen und sozialen Strukturen eine entscheidende Rolle bei evolutionären Entwicklungen des Lebendigen gespielt hat und spielt.

Am 7.3.2013 schrieb ich (Bertal Dresen):

...tolle Vorstellung: Sie sitzen am [nordafrikanischen] Strand und überlegen wie die Viren die Evolution steuern. Interessant finde ich es, dass Biologen jetzt immer mehr Sinn in den 90% der DNA erkennen, die sie zuerst als 'Schrott' ansahen. Mediziner suchen nach schädlichen und nützlichen Viren, nicht nur bei Zeitgenossen sondern auch bei Vormenschen. Gut zu wissen, dass es die so genannten Zivilisationskrankheiten wie Krebs und Alzheimer schon im alten Ägypten gab.

Ebenfalls am 7.3.2013 schrieb Hans Diel aus Sindelfingen:

das sind interessante neue Forschungsergebnisse und interessante Schlussfolgerungen, die Sie daraus ziehen.

Bei einer Ihrer Behauptungen habe ich eine nur leicht unterschiedliche Meinung. Bei dem "was wirkt außerhalb dieser Institutionen auf die Gesamtgesellschaft" sehe ich eher die Technik als die Wissenschaft, insbesondere die Techniken, die die Kommunikationsmöglichkeiten (Buchdruck, Radio, Telefon, Internet) und die Mobilität (Motoren für Schiffe, Autos, Flugzeuge) erhöhen. Interessant (zumindest für mich) ist, dass bei der Entwicklung der meisten dieser Techniken die Wissenschaften eine relativ kleine Rolle gespielt haben.

NB (Bertal Dresen): Die Meinung von Herrn Diel wird vermutlich nicht unwidersprochen bleiben. Gestern erst las ich bei einem bekannten deutschen Autor, dass es ohne geisteswissenschaftliche Forschung das deutsche Wirtschaftswunder nicht gegeben hätte.

Freitag, 1. März 2013

Gerechtigkeit und Gleichheit bei Rawls und Stiglitz

Es kostete mich einige Anstrengung, um mich durch das neue Buch von Joseph Stiglitz durchzukämpfen. Es heißt Der Preis der Ungleichheit und erschien 2012. Obwohl Gleichheit im Gedankengut der französischen Revolution als politisches Prinzip gefordert wird, fand ich immer, dass Gerechtigkeit ein wesentlich besserer Begriff ist. Ungleichheit ist doch nur eine Form mangelnder Gerechtigkeit, dachte ich. Vor allem erinnerte ich mich an John Rawls (1921-2002) und dessen Buch Theorie der Gerechtigkeit, das ich vor Jahren gelesen habe.

Rawls definierte das ‘Prinzip der Gerechtigkeit‘ wie folgt: (a) die Grundrechte aller Menschen sind gleich; (b) soziale oder ökonomische Ungleichheiten sind von Vorteil, falls sie für alle zugänglich sind; (a) hat Vorrang über (b). Dieses Prinzip wird ergänzt durch das ‚Differenz-Prinzip`. Es lautet: Wenn es keine Verteilung gibt, die besser für beide ist, dann nehme man Gleichheit. Unterschiedliche Begabungen und Fähigkeiten sind nützlich, wenn sie für die Vergrößerung des Gemeinwohls eingesetzt werden. Anders ausgedrückt: Ungleichheit ist akzeptabel, wenn sie das Los aller verbessert. Außerdem sprach Rawls das in der US-Verfassung verbürgte Grundrecht auf Glück an. Ein Mensch ist glücklich, wenn er erfolgreich ist und er seinen langfristigen (rationalen) Lebensplan erfüllen kann, meinte Rawls.

Beim Lesen des Buches von Stiglitz fragte ich mich, was er wohl zu diesen Gedanken von Rawls zu sagen habe. Die Antwort ist enttäuschend. Rawls kommt nicht vor. Das ist überraschend, sind doch beide US-Amerikaner und Universitätsprofessoren. Vielleicht liegt es darin, dass Rawls Philosoph war, und bereits seit 10 Jahren tot ist. Stieglitz ist jedoch Ökonom und ein international bekannter Autor und Redner. War mir Rawls etwas zu sehr bemüht, das amerikanische System als gut und gerecht erscheinen zu lassen, scheint Stiglitz genau das Gegenteil zu verfolgen. Das Ideal liegt für ihn eher in Schweden. Stiglitz meint deshalb so stark auftragen zu müssen, weil nach seiner Meinung Amerikaner glauben, dass Ungleichheit unvermeidlich, ja wünschenswert ist. Trotz dieser Enttäuschung möchte ich im Folgenden schlaglichtartig beleuchten, was Stiglitz zu sagen hat. Ich räume gerne ein, dass ein anderer Leser andere Punkte als wichtig oder interessant ansehen wird.

Ursachen der Ungleichheit

Laut Stiglitz erklärt die Ökonomie Lohn- und Preisunterschiede mit der so genannten Grenzproduktivitätstheorie. Je wertvoller eine Leistung für den Markt ist, umso mehr verdient man. Nur bei transparenten Preisen fließe Geld dahin, wo der Nutzen am größten ist. Als ersten Grund, warum dies nicht immer klappt, nennt Stiglitz die Informations-Asymmetrie. Gemeint ist, dass nicht alle Marktteilnehmer über dieselbe Information verfügen. Oft wird versucht, diese Asymmetrie bewusst herbeizuführen. Ein typisches Beispiel sind Derivate. Sie verschleiern die kritischen Eigenschaften eines Wertpapier-Geschäfts für den Bankkunden. Wären Märkte effizient, d.h. würden Preise alles ausdrücken, was man über Angebot und Nachfrage wissen muss, bräuchte niemand Information über Firmen und Produkte zu sammeln.

Einen großen Komplex von Tätigkeiten, bei dem der ideale Markt umgangen oder überlistet wird, bezeichnet Stiglitz mit ‚Rent Seeking‘. Er fasst damit praktisch alle Fälle zusammen, in denen jemand sich ungerechtfertigt bereichert. Die Verschleuderung von Staatseigentum gehört dazu, wodurch russische Oligarchen reich wurden, aber auch Monopole wie das von Microsoft, das es erlaubte, Mitbewerber aus dem Markt zu drängen. Der Libor-Skandal der Banken ist nur ein Beispiel neben vielen aus der Finanzbranche. Im Falle von ‚Rent Seeking‘ geht die Belohnung nicht an diejenigen, die Werte schaffen.

In den USA hat die Entwicklung der letzten zehn Jahre das Verhältnis von Kapital und Arbeit stark verändert. Es ist teilweise eine direkte Konsequenz der von den Republikanern eingeschlagenen Politik. Kapitalerträge steigen ungebremst. Das Einkommen aus Lohnarbeit sinkt. Arbeiter tragen das volle Risiko des technischen Wandels. Sie müssen niedrigere Löhne akzeptieren, wenn ihre Branche stagniert oder wegfällt. Es findet eine Polarisierung statt. Die niedrig qualifizierten Arbeiter erhalten immer weniger. Die hochqualifizierten Angestellten verdienen umso mehr. Das Kapital wandert um die Welt auf der Suche nach bestmöglicher Rendite. Arbeiter bleiben meistens am Ort. Die vollkommene Liberalisierung würde dazu führen, dass sich die Löhne in China und den USA angleichen werden.

Die Wirtschaftspolitik ist ein Kampf der Ideen. Die politische Rechte interessiere sich nur für die Gleichheit der Startchancen. Die Linke strebe  ̶  überspitzt gesagt  ̶  die Gleichheit der Ergebnisse an. Seit Reagan hat der Liberalismus von Milton Friedman die Oberhand. Die Steuern auf Veräußerungen und Erbschaften sanken. Das kam primär dem ohnehin reichen Bevölkerungsteil zu Gute. Der Einfluss des Staates auf die Wirtschaft wurde zurückgedrängt. Dahinter stand der Glaube, dass privates Handeln immer vernünftiger ist als staatliches. Der Staat sei grundsätzlich ineffektiv. Die Finanzkrise vergrößerte die Kluft zwischen Arm und Reich. Die Bankenrettung half den Reichen. Die unzureichende Hypotheken-Restrukturierung belastete die Armen. Es sei zwar so, dass Innovationen vorwiegend von Privatunternehmen gemacht werden. Sie werden aber durch den Staat erst ermöglicht. Er schafft die Infrastruktur in Form von Gesetzen, Anreizen und Bildung. Wäre dies nicht so, müssten alle Länder gleich gut sein, da die Menschen gleich sind. Für mich klingt das recht idealistisch.

An Verschwörungstheorien erinnert, wenn Stiglitz verkündet, dass die reichen 1% der Bevölkerung ihr Geld dazu verwenden, um die Masse der 99% davon zu überzeugen, dass sie die gleichen Interessen haben. Mit anderen Worten, sie manipulieren die öffentliche Meinung. Um ihre Privilegien zu retten, nutzen sie alle Erkenntnisse der Psychologie und alle modernen Methoden des Marketings.

Folgen der Ungleichheit

Nachdem Stiglitz noch einige weitere Faktoren und Gründe identifiziert hat, die zur Entstehung von Ungleichheit führen, zeigt er die Folgen auf. In erster Linie geht  Sozialkapital verloren, d.h. die Bindungen zwischen den Bürgern, allgemein als Solidarität bezeichnet. Sie halten das System für nicht fair. Die Ungleichheit gefährdet auch die Demokratie. Der Staat kann seine Aufgaben nicht mehr erfüllen. Wegen des Misstrauens in den Staat sinkt die Beteiligung an Wahlen. Sie liegt in den USA bereits nahe an 50%.

Wo der Glaube an die Selbstheilungskräfte des Marktes in die Irre führte, kam es zu wirtschaftlichen Krisen. Die dadurch entstandenen Lücken in der Nachfrage kann nur der Staat füllen, indem er den Verbrauch anregt. Marktversagen sei nämlich nichts anderes als Staatsversagen. Da die Jugend besonders betroffen ist, brachen in Nordafrika, Spanien und England Unruhen aus. In Amerika deutete die ‚Occupy Wall Street‘-Bewegung darauf hin, dass nicht nur das Finanzsystem im Argen liegt. Diverse Protestbewegungen in andern Ländern schlossen sich an.

Gegenmaßnahmen und Lösungen

Den Fehlentwicklungen, zu denen der Liberalismus fähig ist, werden die Vorteile gegenübergestellt, die eine stärker sozial ausgerichtete Wirtschaftspolitik bringen würde. Wie bereits erwähnt, verweist Stiglitz gern auf Skandinavien. Dort sei der Lebensstandard höher als in den USA, obwohl dort außer Effizienz auch Fairness hoch im Kurs steht. Ein gerechter Lohn sei möglich. Dabei müssten die Kapitalbesitzer und die ‚Rent Seekers‘ etwas kürzer treten. Die reichen 1% sollten aus Eigennutz den armen 99% zu mehr Chancengleichheit verhelfen. Staatliche Krankenversicherung und Stipendien für Studierwillige seien von Nöten. Die rasant steigenden Kosten für Bildung erschwerten den sozialen Aufstieg. Endlich müsste die Steuerprogression verschärft und Erbschaften besteuert werden. Der Kapitalfluss über Landesgrenzen hinweg müsste kontrolliert werden, um Unternehmen und Privatpersonen daran zu hindern, ihre Gewinne da zu versteuern, wo die Steuern am niedrigsten sind, im Fachjargon als Steuerflucht bekannt.

Der Staat müsste Exzesse an der Spitze der Einkommenspyramide zügeln. Er muss Governance-Gesetze erlassen und durchsetzen. Ohne ‚Corporate Governance‘ würden sich Vorstände hohe Vergütungen genehmigen oder sich Firmenerträge aneignen. (Es sei daran erinnert, dass Martin Winterkorn dieses Jahr statt der ihm zustehenden 20 Mill. Euro nur noch 14 Mill. bekommt, und zwar entgegen dem Wunsch seines Betriebsrats). Schließlich sollte die Wahlpflicht eingeführt werden.

In den weltweiten Jugendunruhen sieht Stiglitz ein Wetterleuchten. Im Gegensatz zu einigen Teilnehmern der Innenstadt-Camps strebt er nicht nach der Weltrevolution. Ein Wandel der Gesellschaft würde ihm reichen. Auch braucht die neue Gesellschaft nur sozialer als die alte zu sein, und nicht einmal sozialistisch. Dass es auf der Welt auch Unruhen gibt, die andere Gründe haben, als das Streben nach höheren Löhnen und arbeitslosem Einkommen, passt bei Stiglitz nicht auf den Radarschirm. Es ist mit ökonomischen Theorien nicht erklärbar. Frühere Bücher von Stiglitz waren etwas weniger ideologisch überfrachtet. Vielleicht wollte er mit diesem Buch einen Beitrag zu Obamas Wahlkampf leisten.

Gerechtigkeit und Wahrheit

Wie John Rawls bemerkte, ist Gerechtigkeit ein zentraler Begriff für Wirtschaft und Gesellschaft. Er ist vergleichbar mit dem Begriff Wahrheit in Religion und Wissenschaft. Mit dem Wahrheitsbegriff der Wissenschaft befasste sich ein früherer Eintrag dieses Blogs. Es ist einer der am meisten gelesen Beiträge geworden.

Gerechtigkeit kann sich auf vielerlei Dinge beziehen, z. B. auf Verfahren, Entscheidungen, Verpflichtungen, Institutionen und Personen. Gleichheit hat den Vorteil, dass sie meistens relativ leicht zu definieren und festzustellen ist. Sie ist nicht immer erreichbar. Bei Gerechtigkeit hingegen beginnen die Probleme bereits mit der Definition. Was lange als gerecht galt, kann plötzlich als ungerecht empfunden werden. Es hängt von der relativen Verhandlungsposition ab, was als fairer Ausgleich von Interessen akzeptiert wird. Der Begriff .gerecht' wird also mit dem Wort 'fair' erklärt. Sehr viel weiter bringt uns dies nicht.  

Dienstag, 26. Februar 2013

Gaucks Europa-Rede ̶ und was nun?

Am 22.2.2013 hielt Bundespräsident Joachim Gauck eine Rede zum Thema Europa. Die Rede verdient es, dass auch nach acht Tagen noch über sie nachgedacht wird. Dass unsere aktiven Politiker primär ans Tagesgeschäft denken, ist notwendig und vollkommen richtig. Dafür sind sie gewählt. Die Position des Bundespräsidenten wurde deshalb von den Müttern und Väter unserer Verfassung geschaffen, damit auch jemand von Amtswegen über den Tag hinaus denkt. Nach einem relativ jungen und  ̶   wie sich herausstellte  ̶  etwas unreifen Amtsinhaber haben wir jetzt wieder eine Persönlichkeit von Format. Erinnerungen an Theodor Heuss, Gustav Heinemann und Roman Herzog werden wach.

Stärken der Rede

Mehr Europa! Das sagt auch die Kanzlerin. Das sagte auch Joschka Fischer. Gauck war aufgefallen, dass Bürger mit diesen zwei Worten nichts anfangen können. Ja, es löst eher Angst als Zuversicht aus. Gauck will zum Denken anregen. Er stellt mehr Fragen, als er Antworten gibt. Er fragt sich (und damit uns), was im Augenblick eigentlich passiert. Wer etwas Erfahrung im Leben hat, weiß, dass so Freundschaften und Ehen entzweizugehen pflegen. Mit der Weisheit und Radikalität des Alters nennt Gauck die Dinge beim Namen.

Wir tun Dinge, die wir eigentlich nicht für möglich gehalten haben. Wir beschimpfen uns gegenseitig als Faulenzer, Betrüger oder Nazis. Wir tun dies nicht hinter verschlossenen Türen, sondern vor der Weltöffentlichkeit. Der Höflichkeit halber unterschlägt Gauck, dass der englische Premier Cameron und sein Europa-Abgeordneter Nigel Farage bereits die Scheidung verlangen. Wir alle fassen uns an den Kopf und fragen, was in die beiden gefahren ist. Nur Daniel Cohn-Bendit, ein früherer Straßen-Revoluzzer, traut sich Paroli zu bieten. Ausgerechnet er scheint Europas letzter Verteidiger zu sein. Statt zu kritisieren macht Gauck den Engländern Komplimente. Wir Deutschen würden ihre Nüchternheit und ihren Mut schätzen. Wir möchten von ihnen als gestandene Demokraten lernen. Er lässt einige Dinge aus, die Engländer selbst für wichtig halten, z.B. ihre Finanzschläue und ihre Seestreitkräfte.

Gauck legt auch den Finger auf die schmerzlichste Wunde, nämlich dass wir uns nur noch ärgern, wenn wir an Europa denken. Deutschlands Politiker tun, was sie für richtig und sinnvoll halten. Sie stellen Milliarden bereit. Das wird von anderen nicht verstanden, geschweige denn honoriert. Im normalen Leben wäre die Reaktion, dass man solche Leute fortan ignoriert.  

Wir brauchen eine europäische Öffentlichkeit, – meint Gauck  ̶  und zwar nicht nur bei nächtlichen Eurokrisen-Sitzungen und Fußball-Abenden. Die Medien, vor allem die öffentlich-rechtlichen, ruft er auf, eine Agora zu schaffen. Wem griechische Vokabeln nicht geläufig sind, erklärt er an einem Beispiel, was er meint. Wir bräuchten Arte-Sendungen nicht nur mit Paris, sondern auch mit London, Madrid, Rom und Warschau. Leider ist das die einzige konkrete Zielsetzung, die Gauck einfällt. Zum Schluss steigert sich Gauck geradezu in rhetorische Fanfaren. ‚Mehr Europa fordert: mehr Mut bei allen! Europa braucht jetzt nicht Bedenkenträger, sondern Bannerträger, nicht Zauderer, sondern Zupacker, nicht Getriebene, sondern Gestalter.‘ Die Frage ist, wo diese sich bisher versteckt hielten. Oder kann es sein, dass es diese gar nicht (mehr) gibt?

Schwächen der Rede

In pastoraler Weise appelliert Gauck an die europäische Wertegemeinschaft und nimmt Bezug auf einen mysteriösen Wertekanon. Gaucks Versuch, diesen Kanon in der Historie zu lokalisieren, geht natürlich daneben. Es gibt ihn nämlich nicht. Keine der prägenden Gestalten kontinental-europäischer Geschichte hat sich 'für Frieden und Freiheit, für Demokratie und Rechtsstaatlichkeit, für Gleichheit, Menschenrechte und Solidarität' stark gemacht. Das gilt für Ludwig XIV. genauso wie für die Napoléons, für Friedrich den Großen wie für Bismarck und Hitler, aber auch für Franco, Mussolini, Tito und Stalin. Selbst der Urvater Europas, Karl der Große, passt nicht in das gesuchte Schema. Die Revolution von 1848 oder die Weimarer Republik wurden erst nachträglich als für die Demokratie-Geschichte wichtig gewürdigt. Zeitgenossen waren noch sehr geteilter Meinung. Warum sagt Gauck nicht, dass wir die Demokratie zweimal importiert haben, oder dass wir sie dem Kalten Krieg verdanken? Zu sagen, dass wir sie den Angelsachsen und vor allem den Amerikanern verdanken, ist ihm vielleicht zu gefährlich.

Gauck meinte, dass ‚die innereuropäische Solidarität sogar noch wachsen [muss], um längerfristig die großen Ungleichheiten auf dem Kontinenten zu verringern und Lebensverhältnisse zu schaffen, die Menschen in ihrer Heimat eine Perspektive bieten.‘  Das hätte er sich sparen sollen. Das wollen die Bürger nämlich nicht, da es unrealistisch ist, Bulgarien auf das Niveau von Luxemburg zu bringen. Wie ich in einem früheren Blog-Beitrag erklärte, liegt das Bruttoinlandsprodukt (BIP) beider Länder um den Faktor 17-18 auseinander.

Es ist auch nicht gut, Drohungen auszusprechen in der Form, dass wir alle Englisch lernen müssen, oder Französisch oder gar Ungarisch. Realistischer ist es, darauf hinzuweisen, dass wer Geschäfte mit Ausländern machen möchte, besser eine Sprache lernt, die dieser versteht. Das gilt auch, wenn man gerne deutsche Touristen in seinem Hause oder Hotel haben will. Auch die Wortspielerei ’wir wollen kein deutsches Europa, sondern ein europäisches Deutschland‘ wurde von anderen Kommentatoren als wenig hilfreich kritisiert.

Nur wenn beide, Politiker und Bürger, sich eindeutig zum Subsidiaritätsprinzip bekennen, hat Europa eine Chance. Leider ist es nicht leicht zu implementieren. Es heißt, dass den Ländern und Regionen absolut nichts von ihrer Souveränität weggenommen wird. Bayern bleiben Bayern, Katalanen bleiben Katalanen. Nur wenn Brüssel mehr für Bayern und Katalanen tun kann, als Berlin und Madrid, soll Brüssel die Verantwortung übertragen bekommen. Dann wird Berlin und Madrid übergangen. Vor allem sollten Berlin und Madrid den Bayern und Katalanen nicht vorschreiben, was sie in dieser Hinsicht tun dürfen.

Europa verbessert unsere Chancen mit den USA und China und andern Ländern gute Verträge auszuhandeln. Gauck sollte den Politikern sagen, dass die Einigung Europas nicht gegen die USA oder gegen China gerichtet sein muss. Man soll Partnerschaften anstreben, da wo es geht. Ein Elefant wie China ist eher bereit einem andern Elefanten eine Partnerschaft anzubieten als einer Maus, z.B. Luxemburg oder Malta. Es ist auch nicht unbedingt nötig, dass Dirk Niebel eigene Entwicklungspolitik betreibt, und Guido Westerwelle alle Konsulate retten muss, zumal Lady Ashton bereits über 7000 Beamte in aller Welt verfügt. Gauck sollte nicht nur die Bürger zum Umdenken anhalten, auch bei Politikern scheint dies manchmal nötig zu sein.

Gewünschte Wirkungen

Es ist immer sinnvoller nach vorne zu blicken als zurück. Ein Mann wie Gauck sollte nicht in der Geschichte nach Antworten suchen, die es dort nicht gibt. Er sollte nicht nach einem Europa-Narrativ suchen, das bestenfalls ein phantasievolles Märchen sein kann, mit dubiosen Wurzeln und fraglicher Wirkung. Europas Kultur ist weder einmalig noch überlegen. Ägypten, China, Indien und Persien haben ältere Kulturen.

Er sollte sagen, wohin nach seiner Meinung die Entwicklung geht. Er muss den Mut haben, uns zu sagen, was uns bevorsteht, auch dass die Zukunft nicht alternativlos ist. Aber was sind die Alternativen? Wir sollten sie bewusst auswählen. Wir können und müssen die Zukunft gestalten.

Zu wünschen wäre, dass die Gestaltung der Zukunft Europas von einer Volksbewegung (einer oder mehreren NGOs) begleitet wird. Das Anliegen ist zu wichtig, um es Politikern zu überlassen. Wir sollten versuchen von mehrsprachigen Ländern zu lernen. Da gibt es Erfolge wie im Falle der Schweiz. Es gibt auch Fehlschläge wie im Falle Belgiens. Wir sollten aufmerksam verfolgen, wie große Einwanderungsstaaten (England, Kanada) mit ihren Problemen fertig werden. Die USA sind gerade in Schwierigkeiten, da sie sich wirtschaftlich und militärisch überhoben haben, aber gesellschaftlich zerfallen.

Statt Bürokraten zu überfordern, die in der Subventionierung der Landwirtschaft, der Standardisierung von Produkten oder der Vergabe von Forschungsmitteln ihr Bestes tun, sollte man nach einfachen Erfolgen suchen. Für mich ist Schwäbisch Hall ein solches Beispiel. Sieben Journalisten aus Sevilla besuchten die schwäbische Kleinstadt. Eine Woche darauf gingen bei der örtlichen Arbeitsagentur 13.000 Bewerbungen aus Spanien und Portugal ein. Es waren Ingenieure, Bauarbeiter und Krankenschwestern dabei, die vorher monatelang ohne Arbeit gewesen waren.

Wie viele Tausend Polinnen arbeiten in deutschen Haushalten? Sie nehmen Berufstätigen die Pflege ihrer Angehörigen ab. Ihre Flexibilität und Mobilität ist den deutschen Politikern nicht ganz geheuer. Deshalb werden sie ignoriert und in die Illegalität abgeschoben. Manchmal wächst Europa schneller zusammen als erlaubt.

Auf meinem Fachgebiet bringt eine Organisation mit dem Namen Infomatics Europe die Dekane europäischer Informatik-Fakultäten zusammen. Letztes Jahr sprachen sie über die Vergleichbarkeit der Promotionsleistungen. Vielleicht wurde auch über nicht-besetzte Lehrstühle gesprochen. Mir fällt nach Albert von Lauingen (ϯ1280) kein deutscher Professor an der Sorbonne ein. In den USA kenne ich mehrere.

Ob sie es glauben oder nicht: Es ist möglich, spürbare Vorteile eines vereinten Europas aufzuzeigen, ohne dass dafür sehr viel Geld ‚in die Hand genommen‘ werden muss. Das hat anscheinend noch niemand dem Bundespräsidenten gesagt. Ich bin sicher, er würde sich freuen.

Nachtrag: Übrigens hatte ich meine Ideen bezüglich realistischer Ziele für Europa in einem Beitrag im letzten August bereits aufgeschrienen.