Warum wurde die Programmiersprache C so genannt? Und was geschah mit der Sprache D?

Man sieht die Programmiersprache C vielleicht nicht überall, aber sie ist subtil allgegenwärtig. Wenn Sie Ihr Auto starten, kommuniziert das Motherboard wahrscheinlich mit C über seine verschiedenen Komponenten. Und wenn Sie Ihr Smartphone benutzen, egal ob iOS oder Android, ist der Kern des Betriebssystems in C geschrieben. Man kann die Programmiersprache C nicht ignorieren..

Warum wurde die Programmiersprache C so genannt? Und was geschah mit der Sprache D?

Okay. Schlechter Witz. Aber was hat es mit dem Buchstaben C auf sich? Als die Programmiersprache C erschien, revolutionierte sie die Welt. Aber warum wurde sie C genannt?

Es war einmal in den Bell Laboratories…

Brillante Köpfe und riesige Budgets

Ein PDP-11 70-System, das zwei Neunspur-Bandlaufwerke, zwei Festplattenlaufwerke und ein weiteres Gerät in einem Büro umfasste

Um diese Frage zu beantworten, müssen wir in der Zeit zurückreisen und uns ein bescheidenes, aber weitläufiges Gebäude in New Jersey ansehen: die Bell Laboratories. Gegründet von Alexander Graham Bell (klingt der Name bekannt?) und damals im Besitz von AT&T – einem faktisch staatlich geförderten Monopol – verfügten die Bell Laboratories über ein großes Budget und die Freiheit, zu experimentieren und Ideen zu entwickeln.

Dieser nicht-invasive Ansatz führte unter anderem zur Erfindung des Transistors (weshalb Computer heute nicht mehr so ​​groß wie ganze Häuserblocks sind), von Lasern und Solarzellen. Auch die Programmiersprache C ist ein Produkt der legendären Bell Labs. Doch bevor es C gab, gab es B.

Es gab eine B-Sprache

B für besseres BCPL

Das ursprüngliche PDP-11 70-Schriftfeld

1969 arbeitete Ken Thompson, ein brillanter und bemerkenswert unabhängiger Forscher bei den Bell Labs, an einem riesigen und extravaganten Betriebssystemprojekt namens Multics. Als die Bell Labs das Multics-Projekt einstellten, hatte Thompson plötzlich freie Zeit und ein ganz besonderes Problem: Er wollte ein von ihr geschriebenes Spiel spielen. Raumfahrt Auf einem alten, verstaubten DEC PDP-7-Computer, der im Flur stand.

DEC PDP-7 Computer

PDP-7 warDas Bild befindet sich rechts.Es war selbst für die Verhältnisse der 1960er Jahre veraltet. Es verfügte über sehr wenig Speicher (etwa 8 Kilobyte). Um sein Spiel auf der PDP-7 auszuführen, entwickelte Thompson ein neues Betriebssystem von Grund auf. Dies war die Geburtsstunde von Unix. Allerdings war das Schreiben von Unix in der Sprache Baugruppencode Die rohe, primitive Sprache, die mit Maschinen mithilfe von Einsen und Nullen kommuniziert, war ein Albtraum. Thompson brauchte eine höhere Programmiersprache, etwas, das der menschlichen Logik näherkam.

Damals war die relevante höhere Programmiersprache BCPL (Basic Combined Programming Language). Da BCPL für die begrenzte Hardware des PDP-7 zu umfangreich war, entnahm Thompson den Begriff „Basic“ aus BCPL, reduzierte ihn auf das Wesentliche und schuf eine neue Sprache. Er nannte diese neue Sprache B. Sie war schnell, einfach und der erste Schritt hin zur modernen Programmierung.

Weltraumreisespiel aus dem Jahr 1969

B war jedoch letztendlich zum Scheitern verurteilt. Es funktionierte zwar gut mit dem PDP-7, aber als Bell Labs auf den fortschrittlicheren PDP-11 umstieg, reichte eine typunspezifizierte Sprache wie B nicht mehr aus. Sie war ineffizient und verlangsamte den neuen, teuren PDP-11 erheblich.

C wurde zum neuen B

B wurde befördert

Ken Thompson und Dennis Ritchie arbeiten an Unix.

Damit kommen wir zu Dennis Ritchie, Thompsons engem Freund und Mitarbeiter. Ritchie erkannte, dass sich die Programmiersprache von Unix weiterentwickeln musste, damit das System auf neueren Rechnern bestehen konnte – also arbeitete er zwei Jahre lang an der Entwicklung von Unix B, um dies zu verbessern.

Seine Innovation war die Einführung des Typsystems. Er schuf den Datentyp `char` für Zeichen und den Datentyp `int` für ganze Zahlen. Nun konnte der Programmierer dem Computer mitteilen, dass ein Kästchen für ein einzelnes Zeichen vorgesehen war, sodass kein unnötiger Speicherplatz verschwendet wurde. Dies ermöglichte es dem Programm, maschinenlesbarer zu werden.

Ken Thompson und Dennis Ritchie, um 1973

Eine Zeit lang nannten Ritchie und Thompson dieses Projekt einfach „New B“. Doch als die Sprache an Bedeutung und Stärke gewann, erkannten sie, dass sie eine eigene Identität verdiente. Da sie die Nachfolgerin der B-Sprache war, orientierten sie sich am nächsten Buchstaben des Alphabets und nannten sie C.

1973 schrieben Ritchie und Thompson dann den Kern des Unix-Betriebssystems in C neu. Zuvor waren Betriebssysteme stets in Assemblersprache geschrieben worden, da allgemein bekannt war, dass höhere Programmiersprachen zu langsam seien. C widerlegte diese Annahme. Es war schnell, elegant und vor allem portabel.

…dann kam D.

oder was?

Originale Frontplatte für PDP 11 20

Ende der 1970er-Jahre war C unangefochten die führende Programmiersprache. Doch mit zunehmender Komplexität der Software zeigten sich schließlich erste Anzeichen von Alterung. Bjarne Stroustrup, ein weiterer Forscher bei den Bell Labs, bewunderte zwar die Geschwindigkeit von C, wollte aber das Konzept der objektorientierten Programmierung einführen. Vereinfacht gesagt, wollte er Programmierern ermöglichen, Daten zu sammeln und sich in „Objekte“ einzuloggen, beispielsweise in ein „Benutzer“-Objekt mit bekanntem Namen und Passwort.

Bjarne Stroustrup

Als die Zeit für Stroustrup gekommen war (Sie sehen ihn in seinem Büro auf der linken Seite.Nachdem er seiner Erfindung einen Namen gegeben hatte, wäre der nächste logische Schritt D gewesen. Doch die Mitarbeiter der Bell Labs liebten Wortspiele. So schlug Maschetti, ein Kollege von Stroustrop, C++ vor. Für sie war das ein genialer Einfall. Es suggerierte, dass die Sprache C sei, nur um eins erweitert. C war Aber besser.

Diese Namenswahl war so einprägsam, dass die Position D im Alphabet fast zwanzig Jahre lang unbesetzt blieb. C++ wurde zum Standard für alles von Videospielen bis hin zu Webbrowsern, und die Welt drehte sich einfach weiter. Wenn Sie in C nicht wissen, wie man eine Zahl um eins erhöht, verwenden Sie einen speziellen Befehl: ++Wenn Sie eine Variable haben x Und sie schrieb x++Es wird werden x + 1.

Die Programmiersprache D existiert bereits.

Aber es erschien Jahrzehnte später

Walter Bright, der Schöpfer der Programmiersprache D

Erst 2001 beschloss der erfahrene Programmierer Walter Bright, den Titel für sich zu beanspruchen. Bright hatte jahrelang C++-Tools entwickelt und war frustriert darüber, wie „umfangreich“ und „unsicher“ die Sprache war, da sie mit älterem Code aus den 1970er-Jahren kompatibel bleiben musste.

Er wollte die Leistungsfähigkeit von C und die Organisationsfunktionen von C++, aber mit einem modernen, übersichtlichen und fehlersicheren Design. Deshalb entwickelte er die Programmiersprache D. D bot eine bessere Speicherverwaltung und Sicherheitsfunktionen, die Fehler verhinderten, die den berüchtigten Bluescreen auf dem Computer verursachen.

Doch trotz seiner Erfolge stand D vor einem klassischen Problem: Als D auf den Markt kam, hatte sich die Welt bereits weiterentwickelt. Unternehmen nutzten Java und C#, und die Technologiebranche hielt sich weiterhin fest an C und C++. Wenige Jahre später erschien Rust, eine Sprache, die großen Wert auf Speicherintegrität legte (dasselbe Prinzip wie D) und die Aufmerksamkeit der Tech-Welt auf sich zog – etwas, das D nie ganz gelang. Dadurch wurde D praktisch irrelevant.

Heute ist D eine hochangesehene Spezialsprache. Sie wird bereits von Unternehmen wie Netflix und eBay für spezifische, anspruchsvolle Aufgaben eingesetzt. Sie ist eine großartige Sprache, hat sich aber nie als unangefochtene Nummer eins etabliert.

Gab es eine A-Sprache?

Ja, aber… nicht wirklich.

Okay. Jetzt wissen wir, dass C C ist, weil es von B abstammt. Aber gab es eine Sprache A, die vor B existierte? Die Antwort ist ja, aber nicht so, wie man vielleicht denkt. Es gab nämlich keine formale Sprache A vor diesen Sprachen. C wurde zwar zu C, weil es nach B entstand. Aber B wurde zu B, weil es der erste Buchstabe von BCPL war, nicht weil es nach A entstand.

ALGOL Language Manual Cover 1965

Verfolgen wir die Entwicklungslinie jedoch korrekt, beginnt die Geschichte vor den Bell Labs. Lange vor B und C gab es ALGOL. ALGOL, kurz für Algorithmische Sprache, entstand 1958. Es war nicht das Werk eines Einzelnen, sondern eines Komitees europäischer und amerikanischer Wissenschaftler, die eine universelle Methode zur Beschreibung mathematischer Operationen suchten. Wenn wir den Urvater der modernen Notation suchen – das wahre „A“ an der Spitze der Pyramide –, dann ist es ALGOL.

Auf der Grundlage von ALGOL-Ideen wurde die Programmiersprache CPL (Combined Programming Language) entwickelt, die jedoch zu komplex für die damaligen Rechner war. Dies führte zur Entwicklung einer vereinfachten Version von CPL, genannt BCPL. Und hier beginnt unsere Geschichte bei den Bell Labs.

Auch im Jahr 2026 befinden wir uns noch immer im C-Zeitalter. Selbst moderne Programmiersprachen wie Python oder JavaScript werden üblicherweise von Programmen interpretiert, die in C geschrieben sind. C bleibt die Grundlage. Eine Sprache, die in einem Labor in New Jersey entstand, um jemandem zu helfen, ein Weltraumspiel auf einem Computer zu spielen, der im Grunde ein riesiger Taschenrechner war.

Nach oben gehen