Читать книгу Die UNIX-Story - Brian W. Kernighan - Страница 7
Оглавление[V]
Vorwort
»Eine der tröstlichen Eigenschaften von alten Erinnerungen ist, dass sie oft einen rosa Schimmer annehmen. Das Gedächtnis klammert sich an die Dinge, die gut waren und Bestand hatten, und an die Freude darüber, an Verbesserungen mitgewirkt zu haben, die das Leben erleichtern.«
– Dennis Ritchie, The Evoloution of the Unix Time-sharing System, Oktober 1984
Seit das Betriebssystem Unix 1969 im Dachgeschoss der Bell Labs zur Welt gekommen ist, hat es sich weiter ausgebreitet, als seine Urheber es sich jemals hätten vorstellen können. Es hat zur Entwicklung einer großen Menge innovativer Software geführt, unzählige Programmierer beeinflusst und die Computertechnik in völlig neue Bahnen gelenkt.
Außerhalb eines bestimmten Kreises von Benutzern sind Unix und seine Abkömmlinge kaum bekannt, und doch bilden sie den Kern verschiedenster Systeme, die Bestandteil unseres Alltags geworden sind. Google, Facebook, Amazon und viele andere Dienste laufen auf Linux, einem Unix-artigen Betriebssystem, über das ich weiter hinten noch mehr schreiben werde. Auf Handys und Macs wird eine Unix-Version ausgeführt. Auch Geräte wie Alexa und Navigationssoftware für Autos nutzen Unix-artige Systeme. Wenn Sie im Web mit Werbung überschüttet werden, stecken ebenfalls Unix-Systeme dahinter, und die Trackingeinrichtungen, die herauszufinden versuchen, was Sie im Web machen, um Sie noch gezielter mit Reklame zu bombardieren, basieren sehr wahrscheinlich ebenfalls auf Unix.
Unix wurde vor über 50 Jahren hauptsächlich von zwei Personen sowie einer kleinen Gruppe von Mitarbeitern erschaffen. Aufgrund einer Kette glücklicher Zufälle war ich damals ebenfalls zugegen, wobei ich mir jedoch nichts davon als eigenen Verdienst anrechnen kann. Mein eigener Beitrag bestand höchstens aus einer bescheidenen Menge an nützlicher Software sowie – dank erstklassiger Co-Autoren – einigen Büchern, die anderen geholfen haben, mehr über Unix, seine Sprachen und seine Tools sowie über die dahinterstehende Philosophie zu lernen.
Dieses Buch ist zum Teil geschichtlicher Abriss und zum Teil persönliche Erinnerung. Es schildert die Ursprünge von Unix und versucht zu erklären, was Unix ist, wie es zustande kam und welche Bedeutung es hat. Ganz sicher ist es kein akademisches Werk – es enthält keine Fußnoten – und hat auch weniger von einem Geschichtswerk und dafür mehr von Memoiren bekommen, als ich ursprünglich geplant hatte.
Das Buch ist für alle gedacht, die sich für Computer oder Technikgeschichte interessieren. Es enthält auch einige technische Ausführungen, wobei ich aber stets versucht habe, ausreichende Erklärungen zu geben, damit auch Leser ohne umfassende Hintergrundkenntnisse die Grundprinzipien verstehen und deren Bedeutung erkennen können. Sie können jedoch auch problemlos über Stellen hinwegblättern, die Ihnen zu kompliziert erscheinen; es ist nicht nötig, jedes einzelne Wort zu lesen. Wenn Sie Programmierer sind, mögen Ihnen einige der Erklärungen überflüssig oder zu stark vereinfacht vorkommen, aber vielleicht finden die Ausführungen zur Geschichte von Unix und die damit verbundenen Anekdoten ja Ihr Interesse.
Ich habe mich zwar um Korrektheit bemüht, aber natürlich ist mein Gedächtnis nicht perfekt. Überdies lassen sich die Interviews, persönlichen Erinnerungen, Zeitzeugenberichte, Bücher und Artikel, auf die ich mich gestützt habe, nicht immer mit meinen Erinnerungen oder auch nur miteinander in Einklang bringen, wenn es darum geht, wer wann was gemacht hat.
Zum Glück sind viele derjenigen, die in der Frühzeit von Unix dabei waren, noch am Leben und konnten mich korrigieren. Auch sie haben natürlich mit Gedächtnislücken und der rosa Brille zu kämpfen, aber für jegliche im Text verbliebenen Fehler bin ich verantwortlich, zumindest sofern ich sie nicht mit Bestimmtheit jemand anderem anlasten kann.
Mein wichtigstes Anliegen beim Schreiben war es, einige der faszinierenden Geschichten aus einer besonders produktiven und prägenden Zeit in der Geschichte der Computer zu erzählen. Es ist wichtig, sich über die Entwicklung der Technologie im Klaren zu sein, die wir heute nutzen und für selbstverständlich halten. Die Entscheidungen, die diese Entwicklung bestimmten und damit unseren Weg vorgaben, wurden von Menschen getroffen, die dem Druck und den Einschränkungen ihrer Zeit ausgesetzt waren. Je mehr wir über die Geschichte wissen, umso mehr können wir das erfinderische Genie schätzen, das zu Unix geführt hat, und vielleicht auch besser verstehen, warum moderne Computersysteme so sind, wie sie sind. Zumindest kann es helfen, manche Entscheidungen, die aus heutiger Sicht falsch oder absurd erscheinen, als die natürlichen Folgen dessen zu erkennen, was man damals wusste und mit den verfügbaren Ressourcen erreichen konnte.
Es geht hier jedoch nicht nur um das Betriebssystem Unix, auch wenn es die Hauptsache darstellt, sondern auch um die Programmiersprache C. Sie gehört zu den am häufigsten verwendeten Sprachen und bildet das Herz der Systeme, die das Internet und die darin verfügbaren Dienste bereitstellen. Im Zusammenhang mit Unix kamen in den Bell Labs noch weitere Sprachen in die Welt, insbesondere das ebenfalls weitverbreitete C++, in dem Microsoft Office-Anwendungen wie Word, Excel und Power Point sowie die meisten Browser geschrieben sind. Ein oder zwei Dutzend der wichtigsten Werkzeuge, die Programmierer noch heute nutzen und für selbstverständlich halten, wurden in den Anfangstagen von Unix erstellt und sind nach 40 oder 50 Jahren zum Großteil noch unverändert.
Die theoretische Informatik spielte ebenfalls eine wichtige Rolle und ermöglichte oftmals die Entwicklung enorm praktischer Werkzeuge. Die Hardwareforschung untersuchte Designwerkzeuge, integrierte Schaltungen, Computerarchitekturen und ungewöhnliche Geräte für Sonderzwecke. Das Zusammenspiel all dieser Tätigkeitsbereiche führte oft zu unerwarteten Erfindungen und war einer der Gründe dafür, dass das gesamte Unternehmen auf so vielen verschiedenen Gebieten so produktiv war.
Es lassen sich auch einige bemerkenswerte und wichtige Einsichten darüber gewinnen, wie technischer Fortschritt zustande kommt. Die Bell Labs, in denen Unix seinen Anfang nahm, waren eine erstaunliche Einrichtung, die viele gute Ideen hervorbrachte und zu Geld machte. Hier wurde eine Menge umwälzender Erfindungen gemacht, und aus der Art und Weise, wie das geschah, lässt sich viel lernen.
Die Geschichte von Unix vermittelt viele Erkenntnisse darüber, wie man Software entwirft und erstellt und wie man Computer wirkungsvoll einsetzt, was ich beim Schreiben auch hervorzuheben versucht habe. Ein simples, aber typisches Beispiel dafür ist die Unix-Philosophie der Software-Tools, nach der man einfach vorhandene Programme unterschiedlich kombiniert, um eine breite Palette von Aufgaben zu lösen, anstatt neue Software dafür zu schreiben. Durch die Aufteilung umfangreicher Aufgaben in kleinere lassen sich die einzelnen Teile nicht nur besser handhaben, sondern können auch auf zuvor unvermutete Weise kombiniert werden.
Unix war zwar die prominenteste Software aus den Bell Labs, aber auf keinen Fall deren einziger Beitrag zur Informationstechnologie. Das Computing Science Research Center – das legendäre »Center 1127« oder auch nur kurz »1127« – war zwei oder drei Jahrzehnte lang überaus produktiv. Es bezog Anregungen aus Unix und nutzte Unix als Grundlage für die Forschung, aber seine Errungenschaften gingen weit darüber hinaus. Die Mitglieder von 1127 schrieben bedeutende Bücher, die viele Jahre lang Standardwerke der Informatik und wichtige Nachschlagewerke für Programmierer darstellten. Das Center 1127 war ein außerordentlich einflussreiches kommerzielles Forschungslabor auf dem Gebiet der Informatik und eine der produktivsten Gruppen vergleichbarer Größe sowohl damals als auch in späterer Zeit.
Was hat Unix und sein Umfeld so erfolgreich gemacht? Wie konnte sich das Experiment zweier Personen zu etwas entwickeln, was die Welt veränderte? War dies ein einzigartiges und so unwahrscheinliches Ereignis, dass nie wieder mit etwas Ähnlichem zu rechnen ist? Zu der umfassenderen Frage, ob sich solche umwälzenden Ergebnisse planen lassen, werde ich mich gegen Ende des Buches noch ausführlicher äußern. Lassen wir es zunächst dabei bewenden, dass der Erfolg von Unix meiner Ansicht nach auf das zufällige Zusammentreffen verschiedener Faktoren zurückzuführen ist: zwei außergewöhnliche Menschen, hervorragende Mitarbeiter, ein fähiges und vorurteilsfreies Management, sichere Finanzierung durch ein Unternehmen mit einer langfristigen Sichtweise und eine Umgebung, die freie Forschung ungehindert erlaubte, wie unkonventionell sie auch immer sein mochte. Die Verbreitung von Unix wurde durch den rasanten technischen Fortschritt gefördert, durch den die Hardware exponentiell kleiner, billiger und schneller wurde.
Die Anfangstage von Unix waren für mich und viele andere in den Bell Labs eine ausnehmend produktive und vergnügliche Zeit. Ich hoffe, Ihnen mit diesem Buch ein wenig von der Freude vermitteln zu können, etwas zu erschaffen und das Leben zu erleichtern, die Dennis Ritchie in dem einleitenden Zitat beschrieben hat.
Danksagung
Eine der unerwarteten Freuden beim Schreiben dieses Buches bestand darin, wieder mit so vielen alten Freunden und Kollegen in Berührung zu kommen. Sie waren so großzügig, mir ihre Erinnerungen mitzuteilen und einige wunderbare Geschichten zu erzählen. Wie wertvoll all dies für mich war, kann ich nur schwer in Worte fassen. Es war mir zwar nicht möglich, alle ihre Anekdoten hier zu verwenden, aber ich habe es sehr genossen, sie zu hören, und bin den vielen außergewöhnlichen Menschen zu Dank verpflichtet, mit denen ich zusammenarbeiten durfte.
Im ganzen Buch finden sich hier und da verstreut biografische Angaben zu verschiedenen Personen, wobei drei größere Abschnitte den drei Hauptverantwortlichen gewidmet sind, ohne die Unix nicht zustande gekommen wäre – Ken Thompson, Dennis Ritchie und Doug McIlroy. Ken und Doug haben mir außerordentlich wertvolle Rückmeldung zu dem Buch gegeben. Allerdings sind sie auf keinen Fall für irgendetwas verantwortlich zu machen, was ich falsch verstanden oder versehentlich falsch dargestellt haben sollte. Dennis’ Brüder John und Bill haben ebenfalls nützliche Anmerkungen und Vorschläge gemacht, und sein Neffe Sam hat mehrere Entwurfsfassungen ausführlich kommentiert.
Wie schon so oft zuvor hat mir Jon Bentley unschätzbare Einsichten vermittelt, hilfreiche Vorschläge zur Struktur des Buches und zur Schwerpunktsetzung gemacht, zahllose Anekdoten erzählt und mindestens ein halbes Dutzend Entwurfsfassungen stilistisch kommentiert. Abermals bin ich Jon zu großem Dank verpflichtet.
Gerard Holzmann hat mir Ratschläge gegeben und Archivmaterial sowie viele Originalfotos zur Verfügung gestellt, die mir geholfen haben, das Buch aufzulockern.
Paul Kernighan hat mehrere Fassungen gelesen und dabei unzählige Tippfehler entdeckt. Außerdem hatte er einige hervorragende Vorschläge für den Titel, wobei ich mich jedoch schließlich widerstrebend gegen A History of the Unix-speaking Peoples (»Eine Geschichte der Unix-sprachigen Völker«) entschieden habe.
Al Aho, Mike Bianchi, Stu Feldman, Steve Johnson, Michael Lesk, John Linderman, John Mashey, Peter Neumann, Rob Pike, Howard Trickey und Peter Weinberger haben das Buch mit kritischem Auge gelesen und mir Geschichten aus den Anfangstagen von Unix erzählt, von denen ich viele zitiert oder in eigenen Worten wiedergegeben habe.
Viele hilfreiche Anmerkungen und sonstige Beiträge habe ich auch von Michael Bachand, David Brock, Grace Emlin, Maia Hamin, Bill Joy, Mark Kernighan, Meg Kernighan, William McGrath, Peter McIlroy, Arnold Robbins, Jonah Sinowitz, Bjarne Stroustrup, Warren Toomey und Janet Vertesi erhalten.
Ich bin sehr dankbar für die großzügige Unterstützung, aber für alle Irrtümer und Fehleinschätzungen bin ich allein verantwortlich. In den letzten fünfzig Jahren haben noch viele andere Menschen in der einen oder anderen Form wichtige Beiträge zu Unix geleistet, und ich möchte mich hier bei allen entschuldigen, deren Arbeit ich nicht erwähnt habe.