Blog 3 Min. Lesezeit

Vor 60 Jahren entstand der Vorläufer von C/C++ – dank Martin Richards.

Diesen Artikel teilen
Sixty years ago, the ancestor of C/C++ emerged, thanks to Martin Richards.

Wissen Sie, in welcher Programmiersprache dieser Code geschrieben ist?

// Hello world demo
get "streams.d"
external
[
Ws
]

let Main() be
[
Ws("Hello World!*N")
]

Es handelt sich um die Programmiersprache BCPL. BCPL (Basic Combined Programming Language) nimmt in der Geschichte der Programmiersprachen eine grundlegende Stellung ein. Die 1966 von Martin Richards entwickelte Sprache zeichnete sich durch Einfachheit, Typfreiheit und Portabilität aus und beeinflusste damit zahlreiche spätere Sprachen, darunter B und C. Besonders bei der Entwicklung von Systemsoftware und Compilern war ihr Einfluss bedeutend, sodass BCPL einen wichtigen Schritt in der Evolution der Programmiersprachen darstellt.

Hier einige Gemeinsamkeiten mit C:

  1. // für Kommentare
  2. get "stream.d" entspricht #include
  3. external wird zum Deklarieren externer Funktionen verwendet
  4. Funktionen werden innerhalb eines Gültigkeitsbereichs definiert
  5. *N wird für einen Zeilenumbruch verwendet

BCPL war die erste Programmiersprache, die auf dem Xerox Alto verwendet wurde. Die Entwicklungsumgebung war Bravo, dem ersten WYSIWYG-Texteditor. Der Xerox Alto ist der legendäre Minicomputer aus dem Jahr 1973, der die Entwicklung des Personal Computing maßgeblich mitprägte.

https://www.youtube.com/embed/YupOC_6bfMI

BCPL (Basic Combined Programming Language) ist eine einflussreiche Programmiersprache, die bei der Entwicklung zahlreicher späterer Sprachen, darunter B und schließlich C, eine entscheidende Rolle spielte. Hier folgt ein detaillierter Überblick über BCPL:

Wichtige Merkmale und Eigenschaften

  1. Typfreie Sprache: BCPL ist eine typfreie Sprache, das heißt, sie besitzt keine expliziten Datentypen. Alle Daten werden als Maschinenwörter behandelt; ihre Bedeutung ergibt sich daraus, wie sie verwendet werden.
  2. Einfachheit: Die Sprache wurde bewusst einfach gehalten und verfügt über eine kleine Menge an Konstrukten und Operationen. Dadurch lassen sich Compiler und andere Werkzeuge vergleichsweise leicht entwickeln.
  3. Portabilität: Eines der Hauptziele von BCPL war es, die Entwicklung portabler Software zu erleichtern. Die Sprache wurde so konzipiert, dass sie sich auf unterschiedlichen Hardwareplattformen einfach implementieren lässt.
  4. Einflussreiche Syntax: Die Syntax von BCPL beeinflusste viele spätere Programmiersprachen. So wurde beispielsweise die Verwendung geschweifter Klammern {} zur Blockstrukturierung von Sprachen wie B, C und C++ übernommen.

Syntax und Konstrukte

  1. Kontrollstrukturen: BCPL enthält Standard-Kontrollstrukturen wie Schleifen (FOR, WHILE), Bedingungen (IF, SWITCH) sowie die Blockstrukturierung mit geschweiften Klammern {}.
  2. Prozeduren: Funktionen heißen in BCPL „Prozeduren“ und können mit Parametern definiert und aufgerufen werden.
  3. Kompilierung: BCPL-Programme werden üblicherweise in eine Zwischenform namens O-Code (Object Code) kompiliert, die anschließend von einem O-Code-Interpreter ausgeführt werden kann. Dieser Ansatz verbessert die Portabilität.

Einfluss und Vermächtnis

  1. Einfluss auf B und C: BCPL beeinflusste direkt die von Ken Thompson entwickelte Programmiersprache B. B wiederum war der Vorläufer von C, das von Dennis Ritchie entwickelt wurde. Viele syntaktische Elemente sowie die Philosophie von Einfachheit und Portabilität wurden von BCPL über B an C weitergegeben.
  2. UNIX: UNIX wurde in den Bell Labs zunächst in Assemblersprache entwickelt. Konzepte aus BCPL beeinflussten jedoch B und später C, das schließlich zur wichtigsten Sprache für UNIX wurde.
  3. Lehre und Forschung: BCPL wurde im akademischen Umfeld häufig zur Vermittlung von Compilerbau und Systemprogrammierung eingesetzt. Aufgrund seiner Einfachheit eignete es sich hervorragend, um die Grundlagen von Sprachdesign und Implementierung zu verstehen.

Zusammenfassung

BCPL (Basic Combined Programming Language) ist eine grundlegende Sprache in der Geschichte der Programmiersprachen. Die 1966 von Martin Richards entwickelte Sprache beeinflusste mit ihrer Einfachheit, Typfreiheit und Portabilität zahlreiche spätere Sprachen, darunter B und C. Besonders bei Systemsoftware und Compilern war ihr Einfluss prägend und machte BCPL zu einem wichtigen Schritt in der Evolution der Programmiersprachen.

Diesen Artikel teilen