Direkt zum Hauptbereich

Im Kampf gegen Monstersysteme


Im Urlaub war es wieder soweit: Das, was wir Informatiker den Menschen um uns herum so zumuten, das machte mir ein fürchterlich schlechtes Gewissen.

Was war geschehen? Eigentlich nichts spektakuläres. Die Vermieterin unserer Ferienwohnung brauchte Hilfe bei der Einrichtung ihres neu erworbenen Laptops. In drei Stunden war der Rechner mit Windows Vista hergerichtet, die neuesten Updates installiert, Flash Player, Adobe Reader, OpenOffice nachgerüstet -- das Übliche halt. Schon dabei wurde mir ganz mulmig.

Und dann, am nächsten Abend, begann ich der guten Frau eine Einführung in Vista zu geben. "Hier klicken, da klicken, gucken Sie mal, alles ganz einfach, dann hier klicken, da klicken. Huch, die Firewall meldet sich. Wissen Sie, was das ist? Nein? Egal, hier klicken, da klicken, dann geht's weiter. Lassen sie sich von sowas nicht irritieren." Was fühlte ich mich elend. "Wenn Sie Ihre Kochrezepte anschauen wollen, hier klicken, da klicken, sehen Sie, OpenOffice startet, dann hier klicken, da klicken. Voilà. Einfach, gell?" Und ich wusste, dass ich log. Nix einfach! Ganz und gar nicht einfach. Da sitzt eine ältere Frau neben mir, die ich in einer Informationsflut ertränkte, die gerade einmal ins Internet möchte, EMails und Briefe schreiben will, vielleicht einmal mit Videotelefonie übers Internet Familienkontakte pflegen möchte und ansonsten an die Archivierung und den Ausbau ihrer Sammlung von Kochrezepten denkt.

Wozu muss so jemand ein komplexes Betriebssystem erlernen? Was belästigen wir die Menschen mit der Nachfrage zu Software-Updates? Welche Arten von Entscheidungen verlangt da eigentlich eine Firewall? Warum muss Otto-Normal-Verbraucher erst einen VHS-Kurs zu OpenOffice machen, bevor er oder sie sich einigermaßen in den Büro-Programmen zurechtfindet?

Warum in aller Welt sind unsere Betriebssysteme, Browser und Anwendungen so kompliziert?

Wir sind's selber schuld! Wir erschaffen wahre Monster, derer wir selber nicht mehr Herr sind. Auf dem "Workshop on Self Sustaining Systems (S3) 2008" am Hasso-Plattner-Institut (HPI) illustrierte Ian Piumarta Mitte Mai als Invited Speaker die Komplexität heutiger Systeme anhand folgender Zahlen: Windows Vista besteht seinen Angaben zufolge aus 50 Millionen Zeilen Programmcode, Mac OSX aus 86 Millionen Zeilen, OpenOffice aus 10 Millionen Zeilen Code (Links zum Foliensatz und zum Talk "Late-bound Object Lambda Architectures" als Video). Solche Systeme sind allein ihrer schieren Größe wegen von einem Entwickler bzw. einer Entwicklerin nicht mehr überschau- und verstehbar. Kein Wunder, das ein BugFixing das nächste jagt und manche Probleme oder Fehler über Monate, wenn nicht gar Jahre, im System bleiben, obwohl sie bekannt sind.

Kann es sein, dass wir den Bau solcher Systeme grundlegend falsch angehen? Piumarta glaubt, dass das alles viel einfacher geht, gehen muss, dass es auch mit 20.000 Zeilen Code möglich sein muss, eine Umgebung auf einem Rechner zu erstellen, die all das abdeckt, was moderne Betriebssysteme bereitstellen. Mit 20.000 Zeilen Code ist eine Größe erreicht, die einem 400 Seiten-Buch entspricht. Ein Umfang, der von einem Menschen in wenigen Wochen vollständig erfassbar und verdaubar ist.

Ich glaube, dass Piumarta mehr als Recht mit seinem Anliegen hat. Die Systeme, die wir heutzutage bauen, sind zu komplex. Es geht einfacher, es muss einfacher gehen. Piumarta selbst liefert in seinem Vortrag einige Beispiele dazu. Wir müssen lernen Systeme zu bauen, die einfach und klein im Kern sind, damit einfach verstehbar sind, und skalieren. Erst damit schaffen wir die Grundlage für Systeme, die vielleicht irgendwann auch einmal einfach bedienbar sind und sich zuschneiden lassen auf die Bedürfnisse ganz spezieller Nutzergruppen.

Wer sich für solche Überlegungen interessiert, dem sei der oben verlinkte Vortrag ans Herz gelegt. Über das zugrunde liegende Objektsystem habe ich schon einmal berichtet im Beitrag "'Open, reusable object models' in Python". Mehr an solchen radikalen Überlegungen lassen sich beim Viewpoint Research Institute unter "Fundamental New Computer Technologies" finden. Geistiger Urheber vieler dieser Gedanken ist übrigens Alan Kay, ein Urgestein der Informatik.

Hinweis: Monster-Bild von Kaptain Kobold

Beliebte Posts aus diesem Blog

Lidl und der Kassen-Bug

Es gibt Fehler, im Informatiker-Jargon "Bugs", die etwas anrühriges haben. Ich bat den Menschen an der Kasse bei Lidl um einen Moment Geduld und meine Kinder um Ruhe, um nicht den wunderbaren Moment zu verpassen, bei dem es passierte. Der Lidl-Mensch fluchte kurz auf -- und ich war entzückt! "Einen Moment, davon muss ich ein Foto machen!" Und dann machte ich noch eines. Ich bin heute extra für diesen Fehler zu Lidl gepilgert -- ich wollte es mit eigenen Augen sehen. Gestern hat mir ein Student (vielen Dank Herr Breyer) von diesem Fehler in einer EMail berichtet. Ein richtig schöner Fehler, ein Klassiker geradezu. Ein Fehler, den man selten zu Gesicht bekommt, so einer mit Museumswert. Dafür wäre ich sogar noch weiter gereist als bis zum nächsten Lidl. Der Fehler tritt auf, wenn Sie an der Kasse Waren im Wert von 0 Euro (Null Euro) bezahlen. Dann streikt das System. Die kurze Einkaufsliste dazu: Geben Sie zwei Pfandflaschen zurück und Lidl steht mit 50 Cent bei Ihne

Syntax und Semantik

Was ist Syntax, was ist Semantik? Diese zwei Begriffe beschäftigen mich immer wieder, siehe zum Beispiel auch " Uniform Syntax " (23. Feb. 2007). Beide Begriffe spielen eine entscheidende Rolle bei jeder Art von maschinell-verarbeitbarer Sprache. Vom Dritten im Bunde, der Pragmatik, will ich an dieser Stelle ganz absehen. Die Syntax bezieht sich auf die Form und die Struktur von Zeichen in einer Sprache, ohne auf die Bedeutung der verwendeten Zeichen in den Formen und Strukturen einzugehen. Syntaktisch korrekte Ausdrücke werden auch als "wohlgeformt" ( well-formed ) bezeichnet. Die Semantik befasst sich mit der Bedeutung syntaktisch korrekter Zeichenfolgen einer Sprache. Im Zusammenhang mit Programmiersprachen bedeutet Semantik die Beschreibung des Verhaltens, das mit einer Interpretation (Auslegung) eines syntaktisch korrekten Ausdrucks verbunden ist. [Die obigen Begriffserläuterungen sind angelehnt an das Buch von Kenneth Slonneger und Barry L. Kurtz: Formal Syn

Mit Prof. Handke im Gespräch: Vom Workbook zum Inverted Classroom

Aus dem Netz in Handkes Büro Es gibt diese schönen Momente, da führen soziale Medien zu sozialen Begegnungen im echten Leben. Ich twittere im Nachgang zur #BiDiWe16, ein Dialog mit Jürgen Handke ergibt sich, er schickt mir seine Telefonnummer, ich rufe sofort durch, wir verabreden uns. Drei Tage nach der #BiDiWe16 sitze ich bei Handke im Büro, das gleichzeitig sein beachtlich ausgestattetes Aufnahmestudio beherbergt. Es ist Freitagmorgen, 9. September 2016. Jürgen Handke ist mir kein Fremder. Ich habe zwei seiner ICM-Konferenzen besucht, auf der #BiDiWe16 in Berlin hielt er die Keynote. Er hat für seine Lehre Preise erhalten, zuletzt 2015 den Ars Legendi-Preis für exzellente Hochschullehre. Zugegeben, ich hadere mit dem Konzept des Inverted Classroom -- auch Flipped Classroom genannt. Meine Erfahrungen mit der Programmierausbildung von Informatik-Studierenden des 1. und 2. Semesters lassen mich zweifeln. Videos habe ich auch schon produziert, aber vor allem das selbstgesteuerte