⬆️ Inhaltsverzeichnis➡️ Nächste Seite

🤯 Kapitel 1.01 - Einleitung zu "Programmierung mit C und C++ ohne ideologischen Ballast"

Gefunden auf X - User: @PR0GRAMMERHUM0R
Gefunden auf X - User: @PR0GRAMMERHUM0R

🤪 Was ist überhaupt dieses "C" worüber aktuell jeder spricht? - Eine kurze Geschichte

Die Programmiersprache ↗ C zählt zu einer der einflussreichsten und langlebigsten Programmiersprachen der Computergeschichte.

Sie wurde Anfang der 1970er Jahre bei den Bell Laboratories (AT&T) entwickelt und ist bis heute die Grundlage für Betriebssysteme wie zum Bespiel: ↗ MacOS, ↗ Linux oder ↗ Windows sowie sehr vieler Embedded Systeme.

C bildet auch die Grundlage für viele moderne Sprachen wie C++, Java, C# oder Go. Ihre Entstehung ist untrennbar mit der Entwicklung des Unix-Betriebssystems verbunden und entstand aus praktischen Notwendigkeiten der Systemprogrammierung.

🔎 Ein weiter Weg: Vom Multics-Projekt zu Unix

In den späten 1960er Jahren arbeiteten die Bell Laboratories am ambitionierten ↗ Multics-Projekt (ein fortschrittliches, aber extrem komplexes und teures Betriebssystem). Bell Labs zog sich 1969 aus dem Projekt zurück.

↗ Ken Thompson und ↗ Dennis Ritchie begannen daraufhin auf einer kleinen DEC ↗ PDP-7 (mit nur 8192 18-Bit "Wörter") ein einfacheres, eleganteres Betriebssystem zu entwickeln – das später zu ↗ Unix wurde. Zunächst wurde Unix komplett in ↗ Assembler geschrieben, was auf der PDP-7 machbar war, aber auf der leistungsfähigeren ↗ PDP-11 (ab 1970) zunehmend mühsam wurde. Thompson und Ritchie suchten nach einer höheren Programmiersprache, die effizient genug für Systemprogrammierung war, aber komfortabler als reiner Assembler.

🔎 Die Vorgängersprachen: BCPL und B

Die direkten Vorläufer von C sind:
  • ↗ BCPL (Basic Combined Programming Language) – Mitte der 1960er Jahre von Martin Richards entwickelt. Eine typenlose Systemsprache mit guter Portabilität.
  • ↗ B – (1969–1970 von Ken Thompson entwickelt) eine stark vereinfachte Version von BCPL für die PDP-7. B war typenlos (nur ein Datentyp) und wurde über einen Interpreter implementiert.
    B war für die PDP-7 ausreichend, scheiterte jedoch auf der PDP-11:
    • Schlechte und langsame Behandlung von einzelnen Zeichen - Die PDP-7/PDP-11 hatten intern unterschiedliche Architekturen.
    • Keine Unterstützung für verschiedene Datentypen.
    • Nicht effizient genug für den gesamten Unix-Kern(el) und komplexe Hilsprogramme.

🔎 Die Entwicklung von B zu C durch Dennis Ritchie (1971–1973)

Dennis Ritchie übernahm die Weiterentwicklung von B. Ab 1971 erweiterte er B zunächst zu „New B“ (NB) und benannte die Sprache später in C um. Wichtige Neuerungen, die Ritchie einführte:
  • Einführung eines echten Typsystems (Zum Beispiel: int und char).
  • Zeiger (Pointer) und Arrays.
  • Strukturen (Zum Beispiel: struct).
  • Eine Deklarationssyntax, die Ausdrücken ähnelt (durch starken Einfluss von ↗ Algol 68).
  • Der Preprocessor (Zum Beispiel: #include und #define) – Später von Mike Lesk und John Reiser erweitert um Makros mit Parametern und bedingte Kompilierung.
Der entscheidende Durchbruch kam 1972/1973:
  • Ritchie schrieb den ersten echten C-Compiler (nicht mehr interpretiert, sondern direkte PDP-11 Maschinencode Erstellung).
  • Im November 1973 wurde der Unix-Ker(nel) (Version 4) vollständig in C neu geschrieben – Ein historischer Meilenstein. Unix war eines der ersten Betriebssysteme, dessen Kern(el) nicht mehr in Assembler geschrieben war.
C war damit von Anfang an als Systemimplementierungssprache konzipiert und sollte die Mächtigkeit von Assembler mit der Bequemlichkeit einer ↗ höheren Sprache verbinden.

Erstellt durch: MuseumsWelt V6.04.01 Edition 'In memoriam 😢 Röhrensammlung' / EU Datenschutz-Grundverordnung (DSGVO)
Erstellt am: 10.07.2026 00:30