Small Talk to Small Machines
25. April 2004"Als ich in die Schule kam, merkte ich schnell, dass die Lehrer immer nur eine Seite erzählen wollten. Ich hielt die Schule für einen ausgemachten Betrug", erinnert sich Alan Kay. Und wie zum Trotz interessierte er sich stets auch für die andere Seite, wie er vor zwei Jahren in einem Gespräch mit heise.online erzählte: Das Multitalent ist nicht nur Mathematiker, sondern auch Molekularbiologe, Gitarrist und Freizeitorganist. Und einer der renommiertesten Computerexperten der letzten 30 Jahre.
Die Wurzeln
Geboren 1940 als Kind australisch-amerikanischer Eltern, wuchs Alan Kay im Hause des Großvaters auf. Dieser, ein bekannter Illustrator, Schriftsteller und Fotograf, hinterließ seinem Enkel eine umfangreiche Bibliothek mit über 6000 Büchern. Aus diesen Büchern lernte der junge Kay. Mit seinen späteren Arbeiten brachte er die Entwicklung der Computer, wie wir sie heute kennen, entscheidend voran. Die von ihm entwickelte Programmiersprache "Smalltalk" war Vorbild für eine ganze Generation: die "objektorientierten" Programmiersprachen.
Wie alles anfing
Während seiner Armeezeit lernte Alan Kay das Programmieren auf einer IBM 1401. 1961 entwickelte er die Grundlagen der systematischen Programmierung, die heute weltweit als objektorientierte Programmierung bekannt sind. Das Problem: Zwischen verschiedenen Trainingslagern seiner Airbase sollten Fotos per Computer hin und her geschickt werden. Die ebenso einfache wie geniale Lösung: Die Dateien so verschicken, wie sie sind - inklusive der computerinternen Datenstrukturen. Voraussetzung: Auf dem anderen Computer ist ein Programm installiert, das diese Strukturen lesen kann. Konvertierungsanweisungen sind somit überflüssig. Die "objektorientierte" Anweisung wird vom Compiler übersetzt und dann von der Maschine ausgeführt. Ein Compiler ist ein Programm zur Übersetzung von Programmiersprache in Maschinensprache.
"Smalltalk"
Die Programmiersprache "Smalltalk" hat mitnichten etwas mit dem zu tun, was landläufig darunter verstanden wird: belangloses Gequassel in geselliger oder gesellschaftlich wichtiger Runde. "Smalltalk" für Computer ist vielmehr das, was die (auf Computer angewandte) wortwörtliche Übersetzung ergibt: "kleine, aber feine Sprachanwendung". Zum Beispiel: Wenn man ein Computerprogramm dazu kriegen will, zehn Mal hintereinander "Hallo!" zu sagen, dann kann der Befehl ungefähr so aussehen:
for (int x=0, x<10, x++); \{ System.out.print ("Hallo!");\}
In "Smalltalk" heißt es einfach: 10 timesRepeat: [Transcript show: "Hallo!".] Sprich: Bei objektorientierten Programmiersprachen werden alle erforderlichen Informationen als "Objekte" aufgefasst. Der Rechner arbeitet mit diesen Objekten und führt die Arbeitsanweisung aus. Smalltalk gehört zu den so genannten höheren Programmiersprachen, die sich sehr stark von rechnerinternen Maschinensprachen unterscheiden. Noch heute ist Smalltalk bekannt, wird aber eher selten benutzt. Gängige Programmiersprachen sind die Nachfolger von Smalltalk, wie C++ und Java. Aber Alan Kay hatte es nicht nur das abstrakte Innenleben des Computers angetan: Bereits in den 1970er Jahren entwickelte er das Konzept der grafischen Benutzeroberflächen und trieb damit die Mensch-Maschine-Kommunikation entscheidend voran.
Der "Turing Award"
Seit 1966 wird der Turing Award von der Association Computing Machinery (ACM) verliehen und von Intel gesponsert. Benannt ist der Preis nach dem bekannten britischen Mathematiker Alan Mathison Turing. Der Brite ist der Erfinder einer abstrakten Rechenmaschine, der "Turingmaschine". Die "Turingmaschine" ist ein Gedankenexperiment aus den 1930er Jahren: Wie wäre es, wenn es eine Maschine gäbe, die Algorithmen ausführen könnte? Turing philosophiert in seinem Essay über so bahnbrechende Ideen wie "input", "output", "Kodierung" und "Compiler".
Der A. M. Turing Award wird jährlich für das vergangene Jahr vergeben. Der 64-jährige Alan Kay erhält den Award für sein Lebenswerk. Mit der Auszeichnung verbunden ist ein Preisgeld in Höhe von 100.000 US-Dollar.