Engineering-Philosophie: Alan Kay, die große Idee ist das Versenden von Nachrichten

Die wichtigsten Erkenntnisse
- Die große Idee ist das Versenden von Nachrichten, nicht die Objekte. Kay bedauerte, den Begriff „Objekte” geprägt zu haben, weil er die Aufmerksamkeit auf Klassen und Vererbung lenkt – die geringere Idee. Worauf es ankommt, sind unabhängige Dinge, die einander Nachrichten senden und den Empfänger entscheiden lassen, was eine Nachricht bedeutet.
- Ein veränderter Blickwinkel ist 80 IQ-Punkte wert. Man überlistet ein schweres Problem nicht innerhalb des falschen Rahmens; man findet den Rahmen, in dem es leicht wird. Das Versenden von Nachrichten war genau dieser Schritt für die Software.
- Der Dynabook stellte das Rechnen als Medium für das Denken neu auf, nicht als Werkzeug für Aufgaben – der 1972 skizzierte Laptop und das Tablet, im Dienst der Idee, einen Menschen Gedanken denken zu lassen, die er zuvor nicht denken konnte.
- Späte Bindung ist es, was Unabhängigkeit ermöglicht. Weil der Sender nicht weiß, wie der Empfänger antworten wird, können sich die Teile verändern, ohne einander zu zerstören – und genau so wächst ein System über das hinaus, was ein einzelner Verstand fassen kann.
Das Prinzip
„Es tut mir leid, dass ich vor langer Zeit den Begriff ‚Objekte’ für dieses Thema geprägt habe, denn er bringt viele Menschen dazu, sich auf die geringere Idee zu konzentrieren. Die große Idee ist das ‚Versenden von Nachrichten’.” – Alan Kay1
Er prägte den Begriff, gewann den Turing Award größtenteils dafür und verbrachte dann Jahrzehnte damit, den Menschen zu sagen, dass sie ihn falsch verstanden hatten. Das Wort Objekt bringt Ingenieure dazu, an Klassen, Vererbung und die Substantive in ihrem Datenmodell zu denken – das Mobiliar im Inneren des Kastens. Kays Punkt ist, dass das Mobiliar die geringere Idee ist. Worauf es ankommt, ist der Kasten und die Nachrichten zwischen den Kästen: unabhängige Dinge, die ihren eigenen privaten Zustand bewahren und nur miteinander interagieren, indem sie einander Nachrichten senden, wobei der Empfänger, nicht der Sender, entscheidet, was eine Nachricht bedeutet.1 Das ist späte Bindung, erhoben zur Philosophie. Der Sender greift nicht hinein und bedient die Maschinerie; er fragt und vertraut darauf, dass das Ding zu antworten weiß.
Der Grund, warum dies die große Idee ist, liegt darin, dass es die Art und Weise ist, wie man etwas baut, das zu groß ist, um es im Kopf zu behalten. Kays wiederkehrende Metapher ist biologisch: Ein großes System sollte wie ein Körper gezüchtet werden, aus Millionen von Zellen, von denen jede ein vollständiger Computer ist, der seinen eigenen Zustand schützt und mit seinen Nachbarn nur über Nachrichten spricht.2 Keine Zelle greift in die Chemie einer anderen Zelle ein. Der gesamte Organismus ist robust, weil die Teile unabhängig sind und die einzige Kopplung in den Nachrichten besteht, die sie austauschen. Objektorientierte Programmierung, so wie Kay sie meinte, ist keine Methode, um Daten zu organisieren – sie ist eine Methode, um ein System aus vielen kleinen Dingen zu bilden, die verhandeln, sodass kein einzelnes Teil das Ganze verstehen muss.
Der tiefere Schritt, der unter alldem liegt, ist eine Haltung gegenüber Problemen, nicht gegenüber Code. Ein veränderter Blickwinkel ist 80 IQ-Punkte wert, sagte Kay gern.3 Man überlistet ein schweres Problem nicht dadurch, dass man innerhalb des falschen Rahmens klüger ist; man findet den Rahmen, in dem das Problem leicht ist. Das Versenden von Nachrichten ist ein solcher Rahmen. Der Personal Computer war ein anderer. Die Überzeugung, dass die richtige Perspektive die rohe Cleverness schlägt, ist dieselbe Überzeugung, die dem Argument zugrunde liegt, dass Geschmack ein technisches System ist, das man untersuchen kann, statt eines Gefühls, das man behauptet – die Struktur, durch die man ein Problem zu sehen wählt, ist die eigentliche Arbeit.
Kontext
Alan Curtis Kay wurde am 17. Mai 1940 in Springfield, Massachusetts, geboren.4 Er kam spät und auf Umwegen zum Rechnen – ein Jazzgitarrist und ein Kind, das unersättlich las, das in der Air Force diente, wo ihn ein Eignungstest zur Programmierung führte, bevor er in Colorado ein Studium der Mathematik und Molekularbiologie abschloss.4 Die Biologie war von Bedeutung. Die Metapher der Zelle als Computer, die seine gesamte Theorie der Software ordnen sollte, stammte von dort, nicht aus irgendeiner Programmiertradition.
Mitte der 1960er Jahre kam er an das von der ARPA finanzierte Informatikprogramm der University of Utah, wo sein Doktorvater Dave Evans war und zu den umgebenden Lehrkräften Ivan Sutherland gehörte.4 An ungefähr seinem ersten Tag gab Evans ihm Sutherlands Sketchpad-Dissertation von 1963 zu lesen. Sketchpad ließ einen Benutzer mit einem Lichtgriffel direkt auf einem Bildschirm zeichnen und hatte – entscheidend – Master und Instanzen: Man definierte eine Form einmal und stanzte Kopien aus, die von ihr erbten. Kay schreibt dieser Dissertation, zusammen mit der Sprache Simula, der er kurz darauf begegnete, das Saatkorn seines Denkens über Objekte zu.4 Er besuchte auch Douglas Engelbarts „Mother of All Demos” von 1968, die Live-Vorführung der Maus, des Hypertexts und des interaktiven Rechnens, die er später eines der großen Erlebnisse seines Lebens nannte.4 Seine Doktorarbeit von 1969, die FLEX-Maschine und -Sprache, war ein früher Versuch, einen persönlichen, interaktiven Computer rund um diese Ideen zu bauen.4
1970 trat er dem neu gegründeten Xerox Palo Alto Research Center bei und bekam die Learning Research Group zur Leitung übertragen.4 PARC war in den 1970er Jahren jener seltene Ort, an dem ein Forscher mit einem Firmenbudget eine Zwanzig-Jahres-Vision verfolgen konnte. Kay hatte eine: nicht ein schnellerer Großrechner, nicht ein besseres Terminal, sondern ein Personal Computer, den ein Kind als Medium für das Denken nutzen könnte. Alles, was er bei PARC baute – Smalltalk, die fensterbasierte Oberfläche, die Idee des Laptops selbst – war ein Versuch, dieses eine Bild zu verwirklichen.
Die Arbeit
Smalltalk und das Versenden von Nachrichten: Was OOP wirklich bedeutete
Bei PARC schufen Kay und seine Gruppe – zentral Dan Ingalls, der die grundlegenden Implementierungen schuf, und Adele Goldberg, die einen Großteil des umgebenden Systems und der Dokumentation aufbaute – Smalltalk, eine der ersten vollständig objektorientierten, dynamischen Programmiersprachen.45 In Smalltalk ist alles ein Objekt, und das Einzige, was Objekte tun, ist, einander Nachrichten zu senden. Es gibt keine Operatoren, die in den Zustand eines anderen Objekts hineingreifen; selbst Arithmetik ist eine Nachricht, die an eine Zahl gesendet wird. Das System ist dynamisch typisiert und extrem spät gebunden: Was eine Nachricht bewirkt, wird vom Empfänger in dem Moment aufgelöst, in dem sie eintrifft, nicht vorab vom Sender festgelegt.5 Diese späte Auflösung ist es, die es erlaubte, ein laufendes Smalltalk-Image zu bearbeiten, während es lief – die Sprache und ihre Umgebung waren ein und dasselbe lebendige Ding.
Kay destillierte später seine eigentliche Definition objektorientierter Programmierung in drei Anforderungen: das Versenden von Nachrichten; das lokale Bewahren, Schützen und Verbergen des Zustands-Prozesses innerhalb jedes Objekts; und die extrem späte Bindung aller Dinge.1 Beachten Sie, was nicht auf der Liste steht: Klassen, Vererbung, Typen. Das sind Bequemlichkeiten der Implementierung. Die unverhandelbaren Punkte sind, dass der Zustand privat ist und dass alles so spät wie möglich entschieden wird. Als er sagte, er habe den Begriff „objektorientiert” erfunden und dabei „C++ nicht im Sinn gehabt”, meinte er genau das – eine Sprache kann Klassen und Vererbung haben und den Punkt dennoch völlig verfehlen, wenn sie es einem Objekt erlaubt, in das Innere eines anderen zu greifen.6
Der Grund, warum das Versenden von Nachrichten die tragende Idee ist und nicht die Objekte, liegt darin, dass das Versenden von Nachrichten die Unabhängigkeit erst real macht. Wenn der Sender das Innere des Empfängers kennte, wären die beiden zusammengeschweißt, und man wäre wieder bei einem einzigen großen, verworrenen Programm. Weil der Sender nur eine Nachricht sendet und der Empfänger entscheidet, wie er antwortet, kann man den Empfänger austauschen, erweitern oder wachsen lassen, ohne den Sender anzurühren. Das ist dieselbe Eigenschaft, die einem Körper erlaubt, eine Wunde zu heilen, oder einem Netzwerk, einen toten Knoten zu umgehen. Kay wollte, dass Software so skaliert, wie die Biologie skaliert, und die Biologie skaliert durch Nachrichten zwischen geschützten Zellen, niemals durch geteiltes Innenleben.
Der Dynabook: Rechnen als Medium

1972 schrieb Kay „A Personal Computer for Children of All Ages”, vorgestellt auf der ACM National Conference in Boston, und darin beschrieb er den Dynabook: einen tragbaren, notizbuchgroßen Personal Computer mit flachem Bildschirm, der die gesamte Bibliothek, Musik, Zeichnungen und Programme eines Kindes fassen konnte und den eine Einzelperson besitzen und jederzeit, überall nutzen würde.7 Er skizzierte ihn als dünne Tafel von ungefähr der Größe eines Notizbuchs und argumentierte, er könne im Prinzip mit der Technik jener Zeit gebaut und günstig verkauft werden.7 Eine solche Maschine existierte nicht. Der Personal Computer existierte nicht. Er beschrieb 1972 den Laptop und das Tablet.
Doch beim Dynabook ging es nie wirklich um die Hardware. Es ging darum, wofür das Rechnen da war. Kays Rahmen – geschöpft aus den Lerntheorien von Jerome Bruner und aus Seymour Paperts Arbeit mit Logo – war, dass der Computer ein neues Medium ist, wie die Schrift oder der Buchdruck, und der Sinn eines Mediums darin besteht, Menschen Gedanken denken zu lassen, die sie zuvor nicht denken konnten.47 Ein Buch kann man nur lesen; in einem Dynabook kann man verfassen und simulieren. Ein Kind sollte ein dynamisches Modell einer Idee bauen und es laufen sehen können. Deshalb musste er persönlich, tragbar und im eigenen Besitz sein: Ein Medium für das Denken muss immer zur Hand sein, so wie ein Notizbuch, sonst ist es überhaupt kein Medium. Alles, was Kay baute, war eine Folge davon, den Computer als Medium statt als Werkzeug zu behandeln.
Die PARC-GUI und „Die Zukunft erfinden”

Der Dynabook brauchte eine Oberfläche, die ein Kind benutzen konnte, also baute Kays Gruppe eine. Die grafische Benutzeroberfläche mit überlappenden Fenstern – Fenster, die sich wie Papiere auf einem Schreibtisch stapeln, mit einer Maus zum Zeigen und Hervorholen eines davon – wurde in seiner Learning Research Group bei PARC entwickelt und lief auf dem Xerox Alto, der Maschine, die die Gruppe „den vorläufigen Dynabook” nannte.48 Jeder Desktop, den Sie je benutzt haben, stammt von dieser Arbeit ab. Im Dezember 1979 besuchten Steve Jobs und eine Gruppe von Apple-Ingenieuren PARC, und ihnen wurde der Alto vorgeführt, auf dem Smalltalk lief: die bitmap-basierte Anzeige, die Maus, die überlappenden Fenster.8 Diese Ideen flossen in den Lisa und dann in den Macintosh und von dort in Windows und in den Mainstream des Rechnens.8 Die Oberfläche, die die ganze Welt heute benutzt, wurde gebaut, um einer Vision von Kindern zu dienen, die in einem neuen Medium verfassen.
Das beseelende Motto dieser Arbeit ist Kays meistzitierter Satz: „Der beste Weg, die Zukunft vorherzusagen, ist, sie zu erfinden.” Er hat gesagt, er sei bei einem PARC-Treffen Anfang 1971 zwischen den Forschern und den Xerox-Planern entstanden – „in einem Anfall von Leidenschaft sprach ich das Zitat aus” –, als die Planer Prognosen wollten und Kays Antwort lautete, man sage keine Zukunft voraus, die man zu bauen gedenkt.9 PARC war dieser Satz, in die Tat umgesetzt: Statt zu fragen, was Computer werden würden, entschied Kays Gruppe, was Computer werden sollten, und verbrachte dann ein Jahrzehnt damit, es zu bauen. Die Zukunft des persönlichen Rechnens wurde bei PARC nicht vorhergesagt. Sie wurde dort erfunden, mit Absicht.
Die Computerrevolution hat noch nicht stattgefunden
1997 hielt Kay eine OOPSLA-Keynote mit dem Titel „The Computer Revolution Hasn’t Happened Yet”, und sie ist das notwendige Gegengewicht zur triumphalen Erzählung.10 Sein Argument war, dass die Industrie die Artefakte der PARC-Vision – Fenster, die Maus, die persönliche Maschine – übernommen und die Idee verfehlt hatte. Das persönliche Rechnen, sagte er, sei größtenteils zur Automatisierung des Papiers geworden: digitale Dokumente, digitale Post, digitale Aktenschränke, die das alte Medium nachahmen, statt ein wirklich neues zu werden. Die Revolution, die er meinte – der Computer als ein Medium, das das menschliche Denken verstärkt, das gewöhnliche Menschen so programmieren, wie sie schreiben –, war nicht eingetreten. Die Schreibtischmetapher hatte gesiegt; die Dynabook-Idee nicht.
Die Kluft zwischen Artefakt und Idee wurde zur späten Kritik seines Lebens. Über das Viewpoints Research Institute, das er 2001 gründete, wehrte sich Kay heftig gegen die Aufblähung moderner Software: zig Millionen Codezeilen, um zu tun, was sich, wie er argumentierte, in einem winzigen Bruchteil davon erledigen ließe, wenn das System aus sauberen, nachrichtenversendenden Teilen gezüchtet würde, statt aus Bibliotheken zusammengesetzt zu werden, die niemand vollständig versteht.411 Sein Projekt „STEPS” versuchte, ein ganzes persönliches Rechensystem – Betriebssystem, Anwendungen und alles – in ungefähr zwanzigtausend Zeilen neu aufzubauen, als Existenzbeweis dafür, dass die Aufblähung eine Wahl ist, keine Notwendigkeit.11 Die Überzeugung vom Versenden von Nachrichten zieht sich direkt bis zur Klage durch: Ein System, das man nicht begreifen kann, ist ein System, dessen Teile nicht richtig unabhängig waren. Aufblähung ist, was geschieht, wenn die Grenzen undicht werden.
Die Methode
Die Methode ist über fünfzig Jahre hinweg gleichbleibend – eine Sprache, eine Maschine, eine Oberfläche und eine Kritik.
Finden Sie den Blickwinkel, der das Problem leicht macht. Kays erster Schritt ist nie, ein Problem frontal anzugreifen, sondern den Rahmen zu verändern, in dem es sitzt. Das Versenden von Nachrichten statt Prozeduren; ein Medium statt eines Werkzeugs; Zellen statt Code. Der Satz von den 80 IQ-Punkten ist die Methode als Slogan ausgesprochen: Der Hebel liegt in der Perspektive, nicht in der Anstrengung.3
Bauen Sie aus unabhängigen Dingen, die Nachrichten senden, nicht aus Prozeduren, die aufrufen. Die Baueinheit ist ein Objekt, das seinen eigenen Zustand schützt und nur Nachrichten freigibt. Man züchtet ein großes System so, wie die Biologie einen Organismus züchtet – indem man viele kleine, unabhängige, nachrichtenversendende Teile zusammensetzt –, sodass kein Teil vom Inneren eines anderen abhängt.12
Binden Sie so spät wie möglich. Entscheiden Sie Dinge im letztverantwortbaren Moment. Späte Bindung ist es, was das System weich genug hält, um sich während des Laufens zu verändern, und was Sender über das Innere von Empfängern in Unkenntnis hält. Frühe Bindung erkauft Geschwindigkeit und verwirkt die Unabhängigkeit, die ein System wachsen lässt.1
Behandeln Sie den Computer als Medium für das menschliche Denken. Der Maßstab des Dynabook lautet nicht „Was kann dieses Werkzeug für eine Aufgabe tun?”, sondern „Was kann ein Mensch nun denken, schaffen und simulieren, das er zuvor nicht konnte?” Die Frage stellt das gesamte Vorhaben von der Automatisierung hin zur Verstärkung neu auf.7
Erfinden Sie die Zukunft, statt sie vorherzusagen. Wenn man Sie um eine Prognose bittet, entscheiden Sie stattdessen. Die PARC-Disziplin bestand darin, die Welt zu wählen, die man wollte, und sie zu bauen, in der Überzeugung, dass eine über ein Jahrzehnt verfolgte Vision jede Vorhersage schlägt.9
Einflusskette
Wer ihn prägte
Ivan Sutherland und Sketchpad. Die Dissertation von 1963, die Dave Evans Kay bei seiner Ankunft in die Hand drückte – mit ihren Mastern und Instanzen, ihrer direkten Manipulation auf einem Bildschirm –, ist das dokumentierte Saatkorn seines Denkens über Objekte und interaktive Grafik.4 (Direkter Einfluss)
Simula und die Idee des Objekts. Die Sprache Simula gab Kay den konkreten Begriff von Objekten, die Zustand mit Verhalten bündeln, den er dann zu „Alles ist ein Objekt, das über Nachrichten spricht” radikalisierte.4 (Direkter Einfluss)
Seymour Papert und Logo, über den Umweg Piaget. Paperts Arbeit über programmierende Kinder – und die Entwicklungspsychologie von Piaget und Bruner dahinter – gab Kay die Überzeugung, dass das wahre Publikum des Rechnens Lernende waren und sein wahrer Zweck ein Medium für das Denken, nicht die Datenverarbeitung. Der Dynabook ist Logos Ehrgeiz in tragbarer Form.47 (Prägender Einfluss)
Die Biologie. Kays Ausbildung in Molekularbiologie lieferte die Leitmetapher: die Zelle als vollständiger, sich selbst schützender Computer und der Organismus als Millionen von ihnen, die Nachrichten senden. Objektorientierung ist für ihn Software, die versucht, Biologie zu sein.2 (Prägender Einfluss)
Wen er prägte
Jede objektorientierte Sprache. Smalltalks Modell – Objekte, das Senden von Nachrichten, dynamische Auswahl – läuft direkt in Objective-C, Ruby und Java hinein, und sein Vokabular ist heute das selbstverständliche Mobiliar der Programmierung. Selbst die Sprachen, die seine Warnung zum Versenden von Nachrichten ignorierten, erbten den Begriff, den er prägte.56
Die grafische Benutzeroberfläche und durch sie der Mac und Windows. Die GUI mit überlappenden Fenstern aus seiner Gruppe bei PARC, die Jobs 1979 auf dem Alto vorgeführt wurde, wurde zum Lisa, zum Macintosh und dann zur Oberfläche im Grunde jedes Personal Computers seither.8
Der Laptop und das Tablet. Der Dynabook beschrieb 1972 den tragbaren Personal Computer, den die ganze Welt heute mit sich trägt. Die Maschine auf Ihrem Schreibtisch und die Tafel in Ihrer Tasche sind beide, in groben Zügen, das Ding, das Kay skizzierte.7
Der rote Faden
Barbara Liskov machte die Datenabstraktion zu einem Programmierprimitiv – ein Typ ist der Vertrag, den er einhält, und ein Untertyp muss jedes Versprechen ehren, das sein Obertyp gibt. Das ist Kays Überzeugung vom Versenden von Nachrichten, als Typtheorie ausgesprochen: Worauf es ankommt, ist der Vertrag zwischen Objekten, nicht ihr Innenleben, und ein Aufrufer sollte eine Nachricht senden und der Antwort vertrauen können, ohne je zu lesen, wie sie erzeugt wird. Wo Thompson und Ritchie Unix aus kleinen Programmen bauten, die „eine Sache gut machen” und über saubere Pipes zusammengesetzt werden, baute Kay Systeme aus kleinen Objekten, die eine Sache tun und über saubere Nachrichten zusammengesetzt werden – dieselbe Wette, dass ein großes System viele unabhängige kleine Dinge sein sollte, nur an ihren Schnittstellen gekoppelt. Und Grace Hopper bestand darauf, dass der Computer den Menschen in ihrer eigenen Sprache begegnen sollte, indem sie die Übersetzung in die Maschine verlegte, damit ein Mensch in seinen eigenen Begriffen denken konnte; Kay trieb das mit dem Dynabook bis an seine Grenze – der Computer, der nicht bloß die Sprache des Menschen spricht, sondern zu einem Medium wird, in dem der Mensch denkt. Die Linie läuft dann vorwärts zu Steve Jobs, der 1979 in PARC ging, Kays Oberfläche sah und sie in die Welt trug. (Brücke der Serie)
Was ich daraus mitnehme
Die Lektion, die ich behalte, ist, dass der schwierigste Teil eines jeden Systems die Wahl des Rahmens ist und dass der Rahmen mehr wert ist als die Cleverness in seinem Inneren. Kays Satz von den 80 IQ-Punkten ist der nützlichste Satz dieser ganzen Serie, denn er sagt einem, wo man seine Anstrengung einsetzen soll: nicht darauf, innerhalb eines schlechten Modells härter zu mahlen, sondern darauf, das Modell zu finden, in dem sich das Problem auflöst. Das Versenden von Nachrichten war dieser Schritt für die Software. Den Computer als Medium zu behandeln, war dieser Schritt für das persönliche Rechnen. Die Disziplin besteht darin, immer wieder zu fragen: Welcher Blickwinkel macht dies leicht?, bevor man eine Zeile schreibt. Das ist derselbe Maßstab wie Qualität als einzige Variable – die Frage lautet nie „Kann ich das falsche Design härter arbeiten lassen?”, sondern „Habe ich das richtige gefunden?”
In der Welt, in der ich jetzt baue – Agenten, Werkzeugschleifen, KI-Systeme –, ist Kays eigentliche Definition der Objektorientierung die tragendste Idee auf dieser Seite, und fast niemand benennt sie. Ein Agent ist ein Kay-Objekt: Er hält privaten Zustand, man kann sein Inneres nicht lesen, und man interagiert mit ihm nur, indem man ihm eine Nachricht sendet und darauf vertraut, dass er entscheidet, wie er antwortet. Ein Mehr-Agenten-System ist genau Kays biologische Vision – viele unabhängige Computer, von denen jeder seinen eigenen Kontext schützt und zu etwas Größerem heranwächst, indem er Nachrichten sendet, niemals indem er in den Speicher des anderen greift. Der ganze Grund, warum das funktioniert, wenn es funktioniert, ist die späte Bindung: Der Sender weiß nicht, wie der Empfänger antworten wird, und diese Unkenntnis ist die Funktion, denn sie ist es, die die Teile sich unabhängig verändern lässt. Agenten gut zu bauen heißt, Kays Zellen zu bauen – und die Fehlschläge sind immer derselbe Fehlschlag, eine Grenze, die undicht wurde. Diese Überzeugung, dass Systeme aus kleinen Dingen gezüchtet werden sollten, die Nachrichten senden, statt aus Teilen zusammengesetzt zu werden, die ineinandergreifen, ist der rote Faden von einer Dynabook-Skizze aus dem Jahr 1972 bis zu einem Agentenrahmen aus dem Jahr 2026, und sie ist genau der Grund, warum die Beweisschranke die Antwort einer Komponente prüft, nicht ihr Inneres.
FAQ
Was ist Alan Kays Engineering-Philosophie?
Kays Kernüberzeugung ist, dass ein System, das zu groß ist, um es im Kopf zu behalten, aus unabhängigen Objekten gebaut werden muss, die ihren eigenen privaten Zustand schützen und nur durch das Senden von Nachrichten kommunizieren – gezüchtet wie ein biologischer Organismus aus vielen kleinen Zellen, niemals zusammengesetzt aus Teilen, die ineinandergreifen. Darunter liegt eine Haltung gegenüber Problemen: Ein veränderter Blickwinkel ist mehr wert als rohe Cleverness, also besteht die Arbeit darin, den Rahmen zu finden, in dem ein schweres Problem leicht wird. Er wandte dies auf die Programmierung an (Smalltalk), auf den Computer selbst (den Dynabook, den Computer als Medium für das Denken) und auf die Industrie (seine Kritik, dass die wahre Computerrevolution noch nicht stattgefunden habe).13710
Was meinte Alan Kay mit „objektorientierter Programmierung” und „dem Versenden von Nachrichten”?
Kay prägte den Begriff „objektorientiert”, sagte aber später, er bedauere ihn, weil er die Menschen dazu bringe, sich auf Objekte, Klassen und Vererbung zu konzentrieren – „die geringere Idee”. Seine eigentliche Definition hat drei Teile: das Versenden von Nachrichten; das lokale Bewahren, Schützen und Verbergen des Zustands jedes Objekts; und die extrem späte Bindung aller Dinge.1 Die große Idee ist das Versenden von Nachrichten: Objekte greifen niemals in das Innere des anderen; ein Sender sendet eine Nachricht, und der Empfänger entscheidet in dem Moment, in dem sie eintrifft, was sie bedeutet. Beachten Sie, dass Klassen und Vererbung nicht auf der Liste stehen – eine Sprache kann beides haben und den Punkt dennoch verfehlen, wenn sie es einem Objekt erlaubt, auf dem privaten Zustand eines anderen zu operieren. Das Versenden von Nachrichten ist es, was die Teile wirklich unabhängig macht, und das ist es, was ein großes System wachsen und sich verändern lässt, ohne zu einem Wirrwarr zu werden.16
Was war der Dynabook?
Der Dynabook war der tragbare Personal Computer, den Kay in seinem Aufsatz von 1972 „A Personal Computer for Children of All Ages” beschrieb, vorgestellt auf der ACM National Conference: eine notizbuchgroße Maschine mit flachem Bildschirm, die eine Einzelperson besitzen und überall nutzen würde und die ihre Bibliothek, Musik, Zeichnungen und Programme fasste.7 Eine solche Maschine existierte nicht; er beschrieb den Laptop und das Tablet Jahrzehnte zu früh. Doch sein eigentlicher Punkt war begrifflicher Natur – der Computer als ein neues Medium für das menschliche Denken, wie die Schrift oder der Druck, in dem ein Mensch (besonders ein Kind) dynamische Modelle von Ideen bauen und laufen lassen, nicht bloß Inhalte konsumieren konnte. Der Xerox Alto wurde als „der vorläufige Dynabook” gebaut, und die Laptops und Tablets, die wir heute tragen, sind die in Hardware verwirklichte Vision.47
Warum gewann Alan Kay den Turing Award?
Die ACM verlieh Kay den A.M. Turing Award 2003 „für die Pionierarbeit an vielen der Ideen, die der Wurzel zeitgenössischer objektorientierter Programmiersprachen zugrunde liegen, für die Leitung des Teams, das Smalltalk entwickelte, und für grundlegende Beiträge zum persönlichen Rechnen”.12 Die Begründung erfasst beide Hälften seiner Arbeit: die Sprache und das Modell des Nachrichtenversendens, die prägten, wie Software gebaut wird, und die Arbeit am Dynabook und an der grafischen PARC-Oberfläche, die prägte, was ein Personal Computer ist. Er war die Schlüsselfigur hinter Smalltalk, hinter der GUI mit überlappenden Fenstern, die Steve Jobs 1979 bei PARC sah und in den Macintosh trug, und hinter dem Begriff des persönlichen, tragbaren Computers als Medium für das Denken selbst.48
Quellen
-
Alan Kay, E-Mail an die Mailingliste der Squeak-Entwickler, 10. Oktober 1998, archiviert und vielfach zitiert bei picostitch, „Alan Kay On Messaging.” „I’m sorry that I long ago coined the term ‘objects’ for this topic because it gets many people to focus on the lesser idea. The big idea is ‘messaging’…” Kays dreiteilige Definition von OOP – „messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things” – erscheint in einer späteren (2003) Antwort zum selben Thema, archiviert bei Stefan Ram, „Dr. Alan Kay on the Meaning of ‘Object-Oriented Programming.’” Diskussion: Hacker News. ↩↩↩↩↩↩↩↩
-
Alan Kay, zur biologischen Metapher der Zelle für Objekte und zum Skalieren von Software wie ein Organismus; siehe seine Erinnerungen in „The Early History of Smalltalk,” ACM SIGPLAN History of Programming Languages II (1993), und die Formulierung „millions of cells, each a whole computer”, zusammengefasst in seinem Wikipedia-Eintrag „Alan Kay.” ↩↩↩
-
„Quote Origin: Point of View Is Worth 80 IQ Points,” Quote Investigator. Kay zugeschrieben; früheste dokumentierte Wiedergabe in seinem Vortrag im Creative-Think-Seminar, 20. Juli 1982 (aufgezeichnet von Andy Hertzfeld), mit veröffentlichten Erscheinungen 1984–1985. Varianten: „Point of view is worth 80 IQ points”, „A change in perspective is worth 80 IQ points”. Auch gesammelt bei Wikiquote. ↩↩↩
-
„Alan Kay,” Wikipedia. Geboren am 17. Mai 1940 in Springfield, Massachusetts; PhD, University of Utah, 1969, Betreuer David C. Evans (Dissertation FLEX); Ivan Sutherlands Sketchpad und Simula als Einflüsse auf sein Denken über Objekte; besuchte Engelbarts „Mother of All Demos” 1968; trat 1970 bei Xerox PARC ein und leitete die Learning Research Group; Smalltalk mit Dan Ingalls und Adele Goldberg; der Dynabook; die GUI mit überlappenden Fenstern und der Alto als „der vorläufige Dynabook”; prägte „objektorientiert”; gründete das Viewpoints Research Institute (2001). Siehe auch Britannica, „Alan Kay.” ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
„Smalltalk,” Wikipedia. Entworfen bei Xerox PARC; eine der ersten vollständig objektorientierten, dynamisch typisierten Sprachen; alles ist ein Objekt, alle Berechnung erfolgt durch das Versenden von Nachrichten; dynamisch, spät gebunden, lebendiges Image. Implementierung geleitet von Dan Ingalls; Dokumentation und Systemarbeit von Adele Goldberg. ↩↩↩
-
Alan Kay, Anmerkungen aus der OOPSLA-Keynote 1997, „When I made up the term object-oriented, I did not have C++ in mind”; siehe „The Computer Revolution Hasn’t Happened Yet,” archiviertes Video und Transkript, Internet Archive. ↩↩↩
-
Alan C. Kay, „A Personal Computer for Children of All Ages,” ursprünglich veröffentlicht in den Proceedings of the ACM National Conference, Boston, August 1972 (neu herausgegeben vom Viewpoints Research Institute). Beschreibt den Dynabook – einen tragbaren, notizbuchgroßen Personal Computer als Medium für das Lernen – und schöpft aus Bruner und Papert/Logo. Überblick und die Linie des „vorläufigen Dynabook” zum Alto: „Dynabook,” Wikipedia. ↩↩↩↩↩↩↩↩↩
-
„History of the graphical user interface,” Wikipedia, und „Xerox Alto,” Wikipedia. Die GUI mit überlappenden Fenstern, entwickelt in Kays Learning Research Group bei PARC; Steve Jobs und Apple-Ingenieuren wurde im Dezember 1979 der Alto vorgeführt, auf dem Smalltalk-76 lief – bitmap-basierte Anzeige, Maus, überlappende Fenster; die Ideen flossen in den Apple Lisa und Macintosh. ↩↩↩↩↩
-
„Quote Origin: We Cannot Predict the Future, But We Can Invent It,” Quote Investigator. Kays eigene Darstellung (E-Mail von 1998) führt „The best way to predict the future is to invent it” auf ein Treffen von PARC-Forschern und Xerox-Planern Anfang 1971 zurück – „In a fit of passion I uttered the quote!” Früheste veröffentlichte Zuschreibung: InfoWorld, April 1982. ↩↩
-
Alan Kay, „The Computer Revolution Hasn’t Happened Yet,” OOPSLA-Keynote 1997 (Internet Archive). Das Argument, dass die Industrie die Artefakte des persönlichen Rechnens übernahm, während sie die Idee verfehlte – „Papier automatisieren”, statt ein wirklich neues Medium zu bauen. ↩↩
-
Viewpoints Research Institute, STEPS Toward Expressive Programming Systems – das Projekt, ein ganzes persönliches Rechensystem (Betriebssystem, Anwendungen und alles) in ungefähr 20.000 Codezeilen neu aufzubauen, als Kritik an der Software-Aufblähung. NSF-Abschlussbericht archiviert bei VPRI / Internet Archive (worrydream-Spiegel). Kontext: Wikipedia, „Viewpoints Research Institute.” ↩↩
-
„A.M. Turing Award Laureates – Alan Kay,” Wikipedia (Begründung 2003). „For pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing.” ACM-Laureatenseite: amturing.acm.org/award_winners/kay_3972189.cfm. ↩