Barbara Liskov: Neuerungen, die jeder immer schon gekannt hat

Es gibt den Spruch in verschiedensten Varianten, aber hinaus läuft es immer ungefähr auf das hier: dass Neuerungen immer zwei Phasen habe, eine, in der alle sagen “Das kann doch gar nicht funktionieren!” und die zweite, in der alle immer schon gewusst haben, dass es anders gar nicht geht.

Spaghetti oder Struktur?

Neuerungen, die inzwischen jeder kennt: Barbara Liskov beim HLF 2016

Barbara Liskov beim HLF 2016

Davon konnte Barbara Liskov, Turing-Preisträgerin 2008 und zweite Informatik-Promovendin in den Vereinigten Staaten, heute (Freitag) bei ihrem Vortrag beim Heidelberg Laureate Forum (zu Gast an jenem Tag im Ausbildungszentrum der SAP in St. Leon Rot) erzählen.

Liskovs Hauptthema sind die Strukturen von Programmen. In ihrer Studienzeit, sagt sie, habe sie noch Programme geschrieben, in denen alles im wesentlichen hintereinander ablief, eine lange Reihe von Anweisungen plus einige Sprünge hin und her. Insbesondere die Sprünge, sogenannte GOTO-Anweisungen, die einen Sprung in eine andere Programmzeile bewirken, hätten die Struktur damals höllisch kompliziert gemacht: die Struktur habe einem Teller Spaghetti geähnelt.

Go to statement considered harmful

Liskov erzählt anhand verschiedener Fachartikel, wann sich diese Haltung geändert hat. Edgar Dijkstras “Go To Statement Considered Harmful” im Jahre 1968 sei damals noch durchaus kontrovers gewesen. Hier verortet Liskov den Anfang der Entwicklung hin zu einer Modularität mit einzelnen Programmteilen, die voneinander nur das wissen, was beim Programmieren explizit zum Informationsaustausch freigegeben und vorgesehen ist, und ihre Interna brav für sich behalten. Ein weiterer Teil der Systematik hing mit Datentypen zusammen – mit dem Übergang von Programmiersprachen, die nur elementare Datentypen wie bestimmte Sorten von Strings, ganzen Zahlen und Fließkommazahlen kennen, zu solchen (“Objektorientierung“), in denen Datentypen für die zu lösenden Probleme maßgeschneidert werden können.

Auf dem Weg zu diesen Neuerungen waren allerdings noch einige Denkmuster zu ändern. An einer der Denkmusteränderungen war Liskov namensgebend beteiligt: dem Liskovschen Substitutionsprinzip, das ein wichtiges Kriterium dafür festlegt, wie (maßgeschneiderte oder andere) Datentypen ihre Eigenschaften vererben. Wir nutzen die Vererbung in natürlicher Weise in unserem Denken; wenn wir etwa an Paul, einen bestimmten Menschen, denken, dann wissen wir, dass Paul all jene Eigenschaften hat, die Menschen ganz allgemein haben (um das Lieblingsbeispiel der Philosophen zu wählen wissen wir dadurch beispielsweise, dass Paul sterblich ist).

Barbara Liskov beim HLF 2016. Picture/Credit: Christian Flemming/HLFF

Barbara Liskov beim HLF 2016. Picture/Credit: Christian Flemming/HLFF

…das weiß doch jeder!

Als Liskov 2008 für ihre Arbeiten den Turing Award bekam, folgte schnell Phase 2. In ihren (übersetzten) Worten: “Auf dem Internet sind, wie Sie wissen, nicht alle Kommentare nett.” Eine Reihe von Kommentaren lauteten dann auch sinngemäß: Wieso Liskov denn den Turing-Preis bekäme, all diese Dinge wisse doch sowieso jeder? Wie Liskov trocken bemerkte, waren solche Kommentare ein riesiges Kompliment. Und ihr sei erst im Zusammenhang mit dem Turing-Preis vollständig klar geworden, wie verbreitet die Ideen inzwischen waren, die Liskov und ihre Kollegen da entwickelt hatten.

Markus Pössel hatte bereits während des Physikstudiums an der Universität Hamburg gemerkt: Die Herausforderung, physikalische Themen so aufzuarbeiten und darzustellen, dass sie auch für Nichtphysiker verständlich werden, war für ihn mindestens ebenso interessant wie die eigentliche Forschungsarbeit. Nach seiner Promotion am Max-Planck-Institut für Gravitationsphysik (Albert-Einstein-Institut) in Potsdam blieb er dem Institut als "Outreach scientist" erhalten, war während des Einsteinjahres 2005 an verschiedenen Ausstellungsprojekten beteiligt und schuf das Webportal Einstein Online. Ende 2007 wechselte er für ein Jahr zum World Science Festival in New York. Seit Anfang 2009 ist er wissenschaftlicher Mitarbeiter am Max-Planck-Institut für Astronomie in Heidelberg, wo er das Haus der Astronomie leitet, ein Zentrum für astronomische Öffentlichkeits- und Bildungsarbeit. Pössel bloggt, ist Autor/Koautor mehrerer Bücher, und schreibt regelmäßig für die Zeitschrift Sterne und Weltraum.

2 comments Write a comment

  1. Ja so läuft es: Was gestern ein gewagtes Denkmodell war, ist morgen der nicht mehr hinterfragte Standard (oder wie Programmierer das nennen: der “Default”).

    Wobei: Liskovs Substitutionsprinzip schränkt die Anwendbarkeit der objektorientierten Programmierung deutlich ein, sagt es doch im Kern: Jede Klasse, die von einer anderen Klasse erbt, muss sich genau so verhalten wie die die Mutterklasse. Sie kann sich nur dort anders verhalten wo es die Mutterklasse nicht “merkt”. Viele – vor allem selbstgestrickte – Klassenbibliothen verletzen dieses Prinzip an irgend einer Stelle.

    Das Liskov-Substitutionsprinzip weist jedenfalls darauf hin, dass Klassenhierarchien “verwundbar” sind. Das objektorientierte Mantra (alles objektorientiert angehen) wird heute als Konsequenz der damit verbundenen Abhängigkeiten zwischen Programmkomponenten nicht mehr so ausschliesslich vertreten.
    Heute beobachtet man die Tendenz, dass immer mehr Programmiersprachen mehrere Programmierparadigmen unterstützen, dass sie also zugleich objektorientiertes, funktionales, imperatives und deklaratives Programmieren unterstützen.

    Um aus diesem Kuddelmuddel von Programmiertechniken, die es heute gibt wieder ein sinnvolles Ganzes zu machen, dazu braucht es vielleicht eine weitere Barbara Liskov und ein oder zwei neue Prinzipien im Geiste von Liskov’s Substitutionsprinzip.

  2. Hier die Meinung des Erfinders der Hirnalgorithmen nach denen die ersten intelligenten Roboter konstruierbar sind:

    Es geht in dem Bericht im Allgemeinen um das generelle Problem der Nutzbarkeit von heutigen Wissenschaftlern.
    Das Problem ist dasselbe wie im Mittelalter als es überall nur kirchliche Orden und Klöster gab. Je zahlreicher dieser Klerus mit der Zeit gewachsen ist um so weniger nützlich wurden diese Leute.

    Aber was soll’s, ich habe schon die Hirnalgorithmen bereit nach denen die ersten intelligenten Roboter (mit Bewusstsein wie Menschen ausgestattet) konstruierbar sind.
    Laß ruhig die humanen Wissenschaftler in die Rente gehen.

    Bis es aber soweit ist muss man noch die Politiker zu Bau der intelligenten Roboter so schnell wie möglich zwingen.
    Denn davon hängt die Zukunft von uns allen ab!

    Und bitte schön nicht auf die unfähigen Professoren hören die ständig nur vorhersagen wie weit wir davon noch entfernt sind…
    Alles Quatsch, die richtigen Algorithmen warten in meinem Rechner.
    http://www.moravcik.info

Leave a Reply




Bitte ausrechnen und die Zahl (Ziffern) eingeben

E-Mail-Benachrichtigung bei weiteren Kommentaren.
-- Auch möglich: Abo ohne Kommentar. +