Während
meiner 35-jährigen Tätigkeit bei der Firma IBM habe ich eine ganze Reihe ausländischer
Kolleginnen und Kollegen kennengelernt, an die ich mich heute noch gerne
erinnere. Zu einigen von ihnen habe ich heute noch Kontakt. Es sind dies
in erster Linie Amerikaner, aber auch Engländer, Franzosen, Holländer, Japaner,
Österreicher, Schweden und Schweizer. Mehrere dieser Kollegen wurden auch
außerhalb der Firma IBM bekannt. Beispiele dafür sind Fred Brooks, Ted Codd, Watts
Humphrey, Ken Iverson, Nat Rochester, Jean Sammet und Heinz Zemanek. Im Folgenden will
ich an George Radin erinnern, einen
Kollegen, mit dem ich in mehreren Stationen meiner Laufbahn zusammengearbeitet
habe. Es gibt mir außerdem die Gelegenheit, über einige wichtige Trends unserer
Branche zu reflektieren, da Radin fast immer mit dabei war, wenn es um
technische und strategische Fragen ging.
Zum
ersten Mal trafen wir uns im Oktober 1963 im Time/Life Building in New York City.
Wir waren beide Kollegen in derselben Abteilung, deren Aufgabe es war, eine
neue Programmiersprache, New Programming
Language (NPL) genannt, zu definieren. Sie wurde später in PL/I umbenannt. Im Time/Life-Hochhaus, das nach den
zwei Zeitschriften des Verlegers Henry Luce benannt war, hatte IBM eine
mittlere Etage gemietet. Das Gebäude liegt in der Avenue of the Americas und
gilt als Teil des Rockefeller Centers. Hier waren die Compiler-Gruppen untergebracht
für Commercial Translator (abgekürzt Comtran) und COBOL, die vorher in der Madison
Avenue zuhause waren, sowie Reste der ursprünglichen (von John Backus geleiteten) Fortran-Gruppe, die sich mit
einem interaktiven Interpreter beschäftigte.
Um
dieselbe Zeit, als ich in New York eintraf, wurde eine paritätisch besetzte Kommission,
bestehend aus
Vertretern der beiden Nutzerorganisationen SHARE und GUIDE und der IBM, beauftragt,
die Sprachdefinition festzulegen. Die IBM hatte drei Vertreter George Radin,
Bernice Weitzenhoffer und C. W. Medlock. Radin und Weitzenhoffer kamen aus
Time/Life. Medlock kam von der aktuellen Fortran-Entwicklergruppe in Poughkeepsie, NY, und verfügte
als einziger über Erfahrungen im Übersetzerbau. Die Sprachdefinition stand
unter enormem Zeitdruck, da die neue Sprache zusammen mit dem System/360
angekündigt werden sollte. Das geschah auch im April 1964. Über den
Definitionsprozess hat George Radin im Jahre 1981 einen externen Rückblick vorgelegt. Deshalb
beschränke ich mich hier auf George Radins Rolle bei diesem Projekt.
Bekanntlich
war es das Ziel von PL/I auf der Sprachebene dasselbe zu erreichen, was die
Hardware-Kollegen in Bezug auf die Rechnerarchitektur vorgemacht hatten,
nämlich die Anforderungen der technisch-wissenschaftlichen und der
kommerziellen Nutzer mit einem Produkt abzudecken. Es war nicht so sehr das
Problem, die Kommissionsmitglieder unter einen Hut zu bringen als die sehr
starken Einflüsse zu berücksichtigen, die von außerhalb der Gruppe kamen. Diese
Anforderungen waren sehr widersprechend. Am stärksten wirkte sich der Einfluss
der Fortran-Anwender aus. Sie sollten PL/I als konsequente Weiterentwicklung
von Fortran erkennen und akzeptieren, weshalb die neue Sprache zwischendurch
auch Fortran VI hieß. Aus der Sicht der COBOL-Nutzer mussten alle funktionalen
Möglichkeiten vorhanden sein, so dass man vorhandene COBOL-Programme maschinell
umwandeln konnte. Das führte zu einer Vielzahl von Datentypen und Datenstrukturen.
Außerdem wollte man der akademischen Welt entgegenkommen, und einige Konzepte
aus Algol übernehmen, wie etwa Rekursion und Blockstruktur. Schließlich kamen
noch Forderungen von internen Benutzern dazu, die PL/I als Systemimplementierungssprache
verwenden wollten. Daraus resultierten Zeiger und explizite Befehle zur Listenverarbeitung,
direkter Speicherkontrolle und Ausnahmebehandlung. Das Ergebnis war eine ausdrucksstarke,
sehr umfangreiche Sprache, die uns späteren Übersetzerbauern einiges Kopfzerbrechen
bereitete. In einem Vortrag in Amsterdam im Jahre 2007 habe
ich darüber berichtet. Der Vortrag ist in erweiterter Form in den IEEE Annals
of Computing History (Heft 4/2013) erschienen.
Radin
hatte zweifellos einen bestimmenden Einfluss auf die neue Sprache. Seine Stärke
war eine vorurteilsfreie, gesamtheitliche Sicht der Dinge. Seine schnelle Auffassungsgabe
und geistige Flexibilität ließen ihn immer wieder Lösungen finden, die den
divergierenden Anforderungen gerecht wurden. Da er meist schneller war als alle
andern Mitglieder der Kommission, hatten seine Vorschläge gute Chancen das Rennen
zu machen. Andere aus der Abteilung, so Louis Bolliet (auf Abordnung aus Grenoble),
Peter Woon (mit dem ich heute noch Kontakt habe) und ich schrieben unter anderem Beispielprogramme, um nachzuweisen,
dass COBOL-Anforderungen abgedeckt waren. Auch machten wir Detailvorschläge zu
einigen Aspekten, die auch teilweise den Weg in die Sprache fanden.
Nach Comtran,
Fortran und APL beendete die Firma IBM mit PL/I ihr direktes Engagement für
prozedurale Sprachen. Mit SQL, ADF und RPG verschob sich ihr Interesse auf
deklarative Sprachen. Bei Anwendern erwiesen sich Fortran und COBOL als sehr
resistent. Im akademischen Bereich – und später auch im PC-Bereich − setzten
sich Sprachen durch, die leichter zu lehren und zu lernen waren als PL/I (wie
Pascal und Basic). Den Bereich Systemprogrammierung übernahm eine Sprachfamilie
(C, C++, Java), die stark mit dem Unix-System verknüpft war.
Überblick über
Radins Projekte
Wie in
der Tabelle zusammengefasst, war Radin nach der PL/I-Zeit an mehreren Projekten
beteiligt, die teilweise innerhalb der Firma eine größere Bedeutung hatten, als
dies nach außen durchdrang. Das erste Projekt dieser Art hieß Future Systems,
abgekürzt FS, und wurde von Poughkeepsie, NY, aus geleitet. Hier war Radin der Chefarchitekt. Ein Kollege, der ihn sehr unterstützte,
war Pete Schneider. Das Ziel war es, als Nachfolge für das System/360 eine
umfassende Rechnerarchitektur zu definieren, die eine Basis für eine Vielzahl
von technischen Realisierungen ermöglichte. Es sollte dem Anwendungsprogrammierer
eine Schnittstelle angeboten werden, die einerseits seine
Entwicklerproduktivität erhöht, andererseits den Programmen eine sichere und
portable Ausführungsumgebung bietet. Alle Datenobjekte sollten sich bezüglich
Eigenschaften und Rechten weitgehend selbst beschreiben, so dass Fehlzugriffe
vermieden wurden (engl. capability addressing). Statt einer explizit zu
adressierenden Speicherhierarchie, die zwischen Hauptspeicher und peripherem
Speicher unterschied, sollten sich alle Objekte in einem einheitlichen Adressraum
befinden (engl. one-level store).
Wie in [1] (S.538-553) nachzulesen, waren intern drei
Schnittstellen festgelegt, und zwar von oben beginnend:
- ADI (Application Development Interface) für Compiler und Anwendungsprogramme
- EDI (Executive Discipline Interface) für die bisherigen Betriebssysteme und
- NMI (New Machine Interface) für die anzuschließenden Geräte und Speichermedien
Es wurde angenommen, dass die beiden oberen
Schichten in Mikrocode implementiert würden. Die Entwicklung der einzelnen
Rechner war zwischen den Labors in Böblingen, Endicott, Hursley und Poughkeepsie
in der Weise aufgeteilt, dass Böblingen das untere Ende, Endicott und Hursley
den mittleren Bereich und Poughkeepsie das obere Ende abdecken sollten. Das
Projekt geriet alsbald in mehrfacher Hinsicht in Schwierigkeiten. Einerseits
zog sich der Termin für die Fertigstellung der Architektur immer mehr in die
Länge, so dass die geplante Auslieferung der ersten neuen Systeme zu einer zeitlichen
Angebotslücke im Markt zu führen drohte. Leistungsvergleiche für vorhandene
Anwendungen ergaben, dass sie nicht mehr wettbewerbsfähig waren. Meine Kollegen
in Böblingen hatten hier die überzeugendsten Argumente. Außerdem wurden immer
mehr Fragen bezüglich Migrationspfaden und Umstellungskosten aufgeworfen – ein
Argument, das immer wieder revolutionären Konzepten den Todesstoß gegeben hat. Im
Jahre 1975 wurde das Projekt, was den Großsystembereich der IBM betraf, eingestellt.
Die wesentlichen Elemente der FS-Architektur wurden später von den Kollegen in
Rochester, MN, (unter Glenn
Henry) übernommen und als AS/400
in den Markt gebracht.
PS: You can find an English version of this entry here, albeit without activated links.
Ob
Radin selbst zu dem Schluss gekommen war, dass die Richtung die FS eingeschlagen
hatte, technisch falsch war, ist mir nicht bekannt. Jedenfalls vollzog er fachlich
einen Schwenk um 180°. Er plädierte nicht länger dafür, dass die Schnittstelle
zwischen Hardware und Software nach oben verschoben werden sollte. Im Gegenteil,
er argumentierte jetzt dafür, die Hardware in ihren Funktionen zu beschränken.
Das interne Projekt, dem er sich anschloss, hieß Minicomputer 801. Die
Architektur-Richtung, die er jetzt verfolgte, wurde als ‚Reduced instruction
set computer‘ (RISC) in der Branche bekannt. Für Einzelheiten möchte ich auf
seinen Bericht von 1982 verweisen. Die erste
Implementierung dieses Konzepts erfolgte im Labor der IBM in Austin, TX, und
wurde als RS/6000
angekündigt.
Als
nächstes wandte sich Radin wieder einem reinen Software-Projekt zu. Es war IBMs
Versuch, in den Markt der CASE-Systeme einzusteigen. Zusammen mit Mitarbeitern
aus dem Labor in Santa Teresa, CA, entwickelte er eine umfassende Software-Architektur,
die im Jahre 1989 als AD/Cycle angekündigt wurde. Eine Artikelserie [2] im IBM
Systems Journal im Jahre 1990 stellte das Konzept vor. Das Rückgrat dieser
Architektur war ein zentraler Objektspeicher, der als ‚Repository‘ bezeichnet
wurde. Hier sollten die Ergebnisse aller Entwicklungsstufen abgelegt werden.
Das betraf Anforderungsdefinitionen, Entwurfsspezifikationen, Quellcode,
Testfälle, usw. Ähnliche Konzepte wurden bereits von externen
Normierungsgremien wie ECMA verfolgt. Objekt-orientierte Datenbanken waren in
aller Munde.
Das
Konzept scheiterte im Markt an zwei Tendenzen, die Radin und seine Kollegen
offensichtlich falsch eingeschätzt hatten. Viele Nutzer sahen in dem zentralen
Objektspeicher den Versuch der IBM, den zentralen IT-Abteilungen dazu zu
verhelfen, weiterhin im Geschäft zu bleiben. Genau das wollten die Nutzer von
Personal Computern aber nicht. Sie wollten sich lösen und selbständig werden. Andererseits
litten spezielle objekt-orientierte Datenbanken (OODBs) darunter, dass sie die
vorhandenen relationalen Datenbanken nicht ersetzen konnten. Diese waren
leistungsmäßig inzwischen so ausgereift, dass sie OODBs deklassierten. Außerdem
verteidigten sie ihr Terrain, indem sie sich selbst in Richtung baumartiger
Objekte erweiterten. IBM hat später wieder im CASE-Bereich Fuß gefasst durch
die Akquisition der Firma Rational. Auf der Basis des bereits sehr
erfolgreichen System Rose entstand später die Entwicklungsumgebung Eclipse, indem IBM das
Produkt der Open Source Community zur Verfügung stellte.
Radin
hatte seit 1980 die Position eines IBM Fellows inne. Er besaß acht Patente im Bereich Rechner-
und Systemarchitektur. Für die Erfindung der RISC-Architektur verlieh der US-Senat
ihm 1992 den ‚Inventor of the Year Award‘. Sehr lebhaft erinnere ich mich an
seinen Besuch 1976 in Stuttgart anlässlich der GI-Jahrestagung [3]. Ihm zuliebe
besuchten Erich Neuhold und ich das Cannstatter Volksfest. Es blieb - nebenbei bemerkt -
bislang mein einziger Besuch.
George
Radin stammte aus Brooklyn, NY. Seine Eltern waren aus Osteuropa eingewandert.
Er hatte 1951 einen B.A. in Englischer Literatur vom Brooklyn College erworben und
1952 einen M.A. in Mathematik von der Columbia University, gefolgt von einem
M.Sc. in Mathematik von der City University of New York. Er war von 1962 bis etwa
1996 bei IBM tätig. Während seiner ganzen IBM-Laufbahn wohnte er im selben Haus
in Grand View im Staat New York, am Westufer des Hudson River. Er pendelte täglich,
mal nach Süden nach New York City, mal nach Norden nach Yorktown Heights oder Poughkeepsie,
NY. Während seiner Zeit in Austin, TX, oder Santa Teresa, CA, wechselte er wöchentlich
zwischen Wohn- und Arbeitsort. Er pendelte
̶ jetzt per Flugzeug anstatt per
Auto ̶
über den ganzen Kontinent hinweg. Wie ich erst vor einigen Wochen
erfuhr, starb George Radin im Mai 2013 in Agawam, Massachusetts. Er hinterließ
seine Frau, drei Kinder und zwei Enkelkinder. Radin galt im privaten Bereich
als Musik- und Tierfreund und spielte Cello.
Zusätzliche Quellen
- Pugh, E.W., Johnson, L.R., Palmer, J.H. (1991): IBM’s 360 and Early 370 Systems. MIT Press, Cambridge, MA
- Mercurio, V. J., Meyers, B. F., Nisbet, A. M., Radin, G. (1990): AD/Cycle strategy and architecture. IBM Systems Journal, 29,2; 170-188
- Radin, G.: An Evaluation of Several System Protection Strategies. In: E.J. Neuhold: 6.GI-Jahrestagung, Stuttgart, Informatik-Fachberichte, Springer 1976,1-15
Heute schrieb Ulrich Lang aus Nehren bei Tübingen:
AntwortenLöschenEr war ein Großer.
Gestern schrieb Gerhard Schimpf aus Pforzheim:
AntwortenLöschenEin schöner Artikel! Ich habe als Fußsoldat an diesen Feldzügen der IBM teilgenommen. Zunächst als Compilerbauer wurde PL/I meine Muttersprache. Später nach Amsterdam abgeordnet habe ich die Database Requirements für FS geschrieben. Die offizielle Lesart, warum FS eingestellt wurde, war die, dass die Kunden den Sprung von der System/360 Welt in das futuristische FS nicht mitmachen würden. Daraufhin entschloss man sich entlang einer weicheren Migrationsstrategie.
Heute schrieb Peter Woon an Bord eines Kreuzfahrtschiffes am Kap Hoorn, normalerweise in Boston, Mass.:
AntwortenLöschen… we have been on a tour in South America. We took a cruise on Oceania Mariner around the south of this continent, starting in Buenos Aires for a few days and ending in Santiago. We will fly to Shanghai on New Year’s Eve. …I continue to marvel at your interest and energy as a historian of IBM’s glorious past, albeit a sad contrast to its present state.
Peter, crediting my excellent health to my genes only, as my doctor says.
Heute schrieb Hans Diel aus Sindelfingen:
AntwortenLöschenDie Treffen mit Georg Radin gehören zu meinen schönsten Erinnerungen an die IBM. Seine fachlichen und intellektuellen Fähigkeiten brauche ich Ihnen gegenüber nicht zu erwähnen. Am meisten bewundert habe ich jedoch die Fairness mit der er seinen Standpunkt in Diskussionen (nicht nur fachlichen) vertreten hat.