Home Map Index Search News Archives Links About LF
[Top Bar] [Bottom Bar]

Interview mit Dennis M. Ritchie

von

Manuel Benet

 

Wer ist Dennis M. Ritchie?:

Einige Leute werden bekannt, weil sie die Geschichte verändert haben, andere weil sie Geschichte machen. Dennis Ritchie gehört zur zweiten Gruppe. Zu einem Zeitpunkt als die meisten von uns noch das Laufen gelernt haben, entwickelte er die Programmiersprache "C", die Programmiersprache, die weltweit am meisten genutzt wird. Es ist unnötig, darauf hinzuweisen, wie wichtig diese Entwicklung für die Menschheit war.

Aber nicht genug damit. Dennis Ritchie und Ken Thompson entwickelten das Unix Betriebssystem, d.h. Das Betriebssystem. Ja, Er kreierte UNIX.

Ritchie befasst sich immer noch mit Computern und Betriebssystemen, so entstanden zum Beispiel Plan 9 und Inferno in Entwicklergruppen, die von ihm geleitet wurden.

Seine Arbeit hat ihm viele Preise von Computer Organisationen eingebracht, so z.B.: ACM award for the outstanding paper of 1974 in systems and languages; IEEE Emmanuel Piore Award (1982), Bell Laboratories Fellow (1983); Association for Computing Machinery Turing Award (1983); C&C Foundation award of NEC (1989): IEEE Hamming Medal (1990), etc.

Momentan ist Dennis Ritchie Leiter des "System Software Research Department" am Computing Science Research Center von Bell/Lucent Technologies in Murray Hill, New Jersey.


LF: Genau so, wie viele Kinder Supermann sein wollen, sind sie das Idol von vielen C Programmierern und Unix-Fans weltweit. Was für ein Gefühl ist das, von tausenden von UNIX und C Programmierern "angehimmelt" zu werden? Wir können uns auf keinen Fall eine Welt ohne UNIX und C vorstellen. Als Sie C entwickelten und mit der Arbeit an UNIX begannen, war es Ihnen da klar, daß das "Die Zukunft" der Computer-Wissenschaften sein würde?

Dennis: Diese zwei Fragen sind sich ziemlich ähnlich, und es sind Fragen, die oft gestellt werden. Natürlich sind die Anerkennung und die Preise, die meine Kollegen und ich bekamen sehr erfreulich, und wir wissen auch, daß wir damit etwas von "bleibendem Wert" erschaffen haben. Nein, wir haben nicht erwartet, daß das "Die Zukunft" werden könnte, wir ahnten auch nichts von dem Einfluß, der heute zu sehen ist. Wir haben einfach mit einem "lasst uns was nützliches erschaffen" begonnen und mitlerweile helfen wir anderen dabei, daran teilzuhaben. Man sollte immer eines im Hinterkopf behalten: Obwohl das ganze UNIX-, C- oder C++-Segment einen bedeutsamen Status hat, so ist die Welt der Informatik, Technologie und Produkten in diesem Bereich um einiges größer. Dies gilt sowohl für die akademische Seite, als auch für den Bereich der "Big-Money"-Software.

LF: Sieht man Unix als die Gegenwart und die Vergangenheit der Betriebssysteme, so könnte man C zweifelsfrei als "Die Sprache" charakterisieren, trotz der objektorientierten Programmiersprachen, die in den letzten Jahren aufgekommen sind. Wie sehen Sie C++ und Java und die häufig stattfindenden "Flame Wars" zwischen C- und C++-Programmierern?

C wurde (bewundernd und gehässig) als eine portierbare Assemblersprache charakterisiert. C++ versucht diesen Level anzuheben, hin zur Objekt-Orientierung und einer abstrakteren Herangehensweise an die Programmierung.

Dennis: C++ zog einen enormen Nutzen aus C, da C schon sehr weit akzeptiert war, bevor C++ so gewachsen ist, und C++ hatte C als Basis, um darauf eine neu Sprache aufzubauen, bzw. nutzte es als Tool um die Compiler zu entwickeln. C wurde (bewundernd und gehässig) als eine portierbare Assemblersprache charakterisiert. C++ versucht diesen Level anzuheben, hin zur Objekt-Orientierung und einer abstrakteren Herangehensweise an die Programmierung. Fehler von beiden Sprachen (wie man in gerade festzulegenden Standards sieht), scheint die exzessive Ornamentierung der Sprache zu sein, bzw. das ausufernde Hinzufügen von technischen Spielereien. Beide Sprachen haben einen recht pragmatischen Ansatz, indem sie versuchen zu verstehen, was wirklich benötigt wird. Java ist offensichtlich ein Sproß von C++, der mit dem Pointer-Erbe von C aufräumt und gleichzeitig die Idee von rechnerunabhängigen Programmdateien einführt (nicht eine wirklich neue Idee, aber mittlerweile vielleicht wirklich durchführbar). Jetzt, wo Java im Zwist zwischen Sun und Microsoft gefangen ist (und eigene Probleme mit der Ornamentierung hat), wird es schwer vorherzusagen, in welche Richtung sich die Dinge entwickeln werden.

LF: Eine hypothetische Frage: Gibt es irgend etwas, was sie anders machen würden, wenn sie C - aus der heutigen Perspektive und mit der langjährigen Erfahrung - von Grund auf neu entwickeln würden?

Dennis: Einen Weg zu finden, das zu implementieren, was schon seit längerer Zeit im ANSI/ISO Standard zu finden ist: Komplette Deklaration der types von Funktionsargumenten, also das, was der 1989er C-Standard "function prototypes" nennt. Und es gibt viele kleine Details, die schlampiger implementiert sind, als sie es sein sollten, so zum Beispiel die Bedeutung des Wortes "static", welches verwirrenderweise für verschiedene Zwecke genutzt wird. Ich bin mir immer noch nicht sicher über die Deklarations-Syntax der Sprache, so wird in Deklarationen eine Syntax benutzt, die das Verhalten von zu deklarierenden Variablen nachahmt. Dies ist eines der Dinge, die oft kritisiert wurden, aber es hat dennoch eine gewisse Logik.

LF: Während C nun eine etablierte und komplett ausformulierte Sprache ist, so verändern sich Betriebssysteme immer noch auf einer regelmässigen Basis. Neue Ideen werden formuliert, da Hardware immer billiger und immer schneller wird. Was sind die Schlüsselthemen, wenn es um die Entwicklung von Betriebssystemen geht? Genauer gefragt: Was ist Ihre Meinung bezüglich des Streites Micro-Nano-Kernel gegen monolithische Systeme?

Dennis: Ich glaube nicht, daß das eine wirklich interessante Frage ist, vor allem wenn sie so gestellt wird. Ich bevorzuge Applikationsumgebungen, die einen strukturierten, gemeinsamen Namensraum und Mechanismen zur Bereitstellung von Ressourcen bieten, so wie Unix (ich beziehe Linux hier mit ein), Inferno und Plan 9. So wie es aussieht, haben Mikro- oder Nano-Kernel im täglichen Gebrauch keine relevante Position erlangt, zumindest nicht bei "General-Purpose" Systemen. In der Praxis scheint es eher so, als würde der Mikro-Kernel daraufhin spezialisiert, mit dem Makro-System, was darüber liegt, zusammenzuarbeiten. Es wird wohl immer ein Werkzeug bleiben, um Systeme intern zu strukturieren, aber es wird kein allgemein eingesetztes Werkzeug werden. Natürlich (die Welt ist schließlich kompliziert) gibt es Einsatzzwecke, wo kleine, sehr einfache Betriebssysteme sehr nützlich sind - so z.B. für kleine Geräte, die nicht für den allgemeinen Gebrauch konstruiert sind, sei es nun auf dem Schreibtisch oder im Maschinenraum.

LF: Unix hat mittlerweile eine lange Geschichte hinter sich. Es wurde vor vielen Jahren geschaffen, seitdem haben sich die Möglichkeiten (und auch die Anforderungen) von Netzwerken, Applikationen und Hardware sehr stark verändert. Wo liegen die momentanen Limitationen bzw. Handicaps von Unix, wenn man sich die Forderungen heutiger bzw. zukünftiger Nutzer ansieht?

Dennis: Ich sehe keine fundamentalen technischen Limitationen, wenn man sich die System-API ("system calls") ansieht. Es gibt natürlich ein kommerzielles/politisches Gefecht zwischen den kommerziellen UNIX-Distributoren und mittlerweile auch zwischen den Anbietern von "freien" Unixen, inklusive Linux und *BSD.

LF: Eines der wichtigsten Themen momentan scheint das nahende Jahr 2.000 zu sein, mit der Möglichkeit einer "Kernschmelze" im Internet - hervorgerufen durch den berühmten Y2K-Bug. Glauben Sie, das in den apokalyptischen Vorhersagen einiger Experten ein fundierter Kern steckt?

Dennis: Kein Kommentar, wirklich. Ich werde am 31. Dezember 1999 um 23:59 nicht fliegen, aber da ich noch nie in meinem Leben am 31. Dezember um 23:59 einem Flugzeug überhaupt nahe gekommen bin, hat dies wohl nicht viel mit Y2K zu tun.

LF: Dies hier wäre kein komplettes Interview, wenn wir nicht Inferno erwähnen würden, das Betriebssystem, an dem Sie gerade arbeiten. Was sind die Gründe gewesen, ein völlig neues Betriebssystem zu entwerfen, gemeinsam mit Limbo, der dem System eigenen Programmiersprache? Außerdem: Warum Inferno/Limbo, wenn es doch JavaVM/Java gibt? Mit anderen Worten: Was hat Inferno, was Java nicht bietet?

Dennis: Inferno ist das Kind von Phil Winterbottom und Rob Pike, und sie haben mit diesem Projekt angefangen, bevor die Java Karawane (Publicity-Maschine) loszog. Java hatte seinen eigenen Vorgänger (der intern Oak genannt wurde), aber zu dem Zeitpunkt als man mit Inferno begann, gab es noch keinen Grund, an die Veröffentlichung von Oak zu denken. Natürlich sahen wir, daß es Java gab, aber es war doch noch ein bisschen unförmig. Ich glaube, daß das einer der seltenen Momente ist, das eine ehrwürdige technologische Idee (eine Sprache, die in einer portablen virtuellen Maschine implementiert wird) gleichzeitig von Sun und von uns wiederbelebt wurde. Das gesagt habend: Die Idee hinter Inferno war von Beginn an viel interessanter was den Betriebssystemteil betrifft (eine Sprache und ein Betriebssystem, welche beide auf minimaler, billiger Hardware laufen und gleichzeitig als Applikation unter Windows oder Unix oder Linux). Man muß Sun aber zugestehen, daß sie es einfach besser geschafft haben, sich in den explodierenden Browser/WWW-Markt einzubringen.

LF: So wie es aussieht, hängt die Zukunft von Limbo sehr stark von der Verbreitung und der Popularität vom Betriebssystem Inferno ab. Macht es Sinn, Limbo auf andere Betriebssysteme zu portieren? Oder ist das Design zu stark von Inferno abhängig?

Dennis: Von der technischen Seite her ist Limbo nicht wirklich von Inferno abhängig. Auf der anderen Seite ist es doch wieder abhängig von Inferno, da jede neue Sprache eine Umgebung benötigt, in der sie benutzt werden kann.

LF: Wenn man sich Ihre Karriere bei den Bell Labs ansieht, so scheint es, daß Sie die ganze Zeit an Projekten gearbeitet haben, die Sie wirklich mögen, und ich nehme an, daß das auch bei Inferno der Fall ist. Ist es falsch anzunehmen, daß Ihnen die Arbeit an C und UNIX wirklich Spaß gemacht hat?

Dennis: Meine Karriere bei den Bell Labs hat mir tatsächlich viel Spaß bereitet (und sie hält immer noch an).

LF: Ich kann es mir nicht verkneifen, einen Vergleich zwischen Ihnen und den ganzen Leuten zu ziehen, die momentan kostenlos an Non-Profit-Projekten arbeiten, weil sie daran Vergnügen haben - obwohl ich mir sicher bin, daß sie eine finanzielle Offerte für die Arbeit, die sie machen nicht ablehnen würden. Können Sie sich vorstellen an einem Projekt wie z.B. Linux mitzuarbeiten, wenn Sie nicht bei den Bell Labs angestellt wären? Wie sehen Sie diese ganzen Leute - von Ihrem Blickpunkt aus, also aus einem innovativen Forschungslabor heraus, und mit der Erfahrung, die Sie haben? Da unser Magazin zuerst ein Linux-Magazin ist, müssen wir Ihnen natürlich Fragen über Linux stellen. Zuerst: Wie sehen Sie den Zulauf, den Linux momentan hat - und die Entscheidung vieler Firmen, dafür Software zu entwickeln (z.B. Bell Labs, Inferno ist auch auf Linux portiert worden)?

Dennis: Lassen Sie mich diese Fragen zusammenfassen. Ich finde das Linuxphänomen recht erfrischend, weil es so stark auf der Basis von UNIX aufbaut. Linux scheint einer der gesündesten direkten Unix-Abkömmlinge zusein, obwohl es auch die diversen BSD-Varianten und die "offizielleren" Angebote der Mainframe- und Workstationhersteller gibt. Mir fällt allerdings auf, daß die Welt der "freien Unixe" unter genau der Fragmentierung und dem Streit leidet, der auch in der kommerziellen Unix-Welt aufgetreten ist und immer noch auftritt.

LF: Und jetzt die große Frage: Haben Sie je Linux benutzt? Falls ja, wie ist Ihr Eindruck?

Ich bewundere das Wachstum und die Vitalität von Linux.

Dennis: Ich habe es noch nicht wirklich benutzt - zumindest in dem Sinne, daß meine tägliche Arbeit davon abhängen würde, daß muß ich leider zugeben. Meine eigene Computerwelt ist eine Mixtur aus Plan 9, Windows und Inferno. Ich bewundere das Wachstum und die Vitalität von Linux. Manchmal fragen mich Leute fast dieselbe Frage, sie erwarten dann eine Antwort, die Eifersucht oder Irritation aufzeigt, weil es um "Linux gegen Unix" geht, Unix gleichbedeutend mit dem, was die traditionellen Firmen anbieten. Aber dem ist nicht so, ich denke daß Beides die Weiterführung von Ideen ist, die Ken, ich und viele andere vor vielen Jahren aufgezeigt haben.

LF: Zu Microsoft... Wie denken Sie über das Monopol, daß diese Firma im Bereich des Desktops momentan hat? In der Vergangenheit gab es Science Fiction Filme, die uns eine Welt zeigten, welche von Großcomputern dominiert wird, die alle Aspekte unseres Lebens beeinflussen. Die Gegenwart zeigt uns ein anderes Bild. Computer sind in vielen Fällen nicht mehr als ein einfaches Anwendungswerkzeug. Sie haben ein Betriebssystem für Programmierer entwickelt, Sie haben sich die momentane Situation schon damals ausgemalt. Wie sehen Sie die Zukunft im Computerbereich? Welchen Platz werden Linux und Inferno Ihrer Meinung nach in dieser Welt einnehmen?

Dennis: Das sind zwei Fragen. Microsoft hat tatsächlich so etwas wie ein Monopol im Desktop-Bereich, aber das ist nicht der einzig interessante Bereich in der Computerwelt. Beides, also alternative Distributionsstrukturen für Software (so wie Linux) und Teile der Computerwelt, die es nicht so oft in die Nachrichten schaffen wie Windows oder der Browserkrieg (so zum Beispiel Höchstleistungsrechner, hochverfügbare Systeme und Miniaturrechner) werden alle ihren Platz in der Computerwelt haben. Ich bin mir sicher, daß Linux und Inferno sich gut entwickeln werden.


Original in Englisch. Übersetzung: Ralph Angenendt
 
Webpage maintained by Miguel Ángel Sepúlveda 
© Manuel Benet 1999 
LinuxFocus 1999