CPL (Programmiersprache) - CPL (programming language)

CPL
Paradigma Multiparadigma : prozedural , zwingend , strukturiert , funktional structured
Entworfen von Christopher Stracheyet al.
Erstmals erschienen 1963 ; Vor 58 Jahren ( 1963 )
Beeinflusst von
ALGOL 60
Beeinflusst
BCPL , POP-2

CPL ( Combined Programming Language ) ist eine multiparadigmatische Programmiersprache , die Anfang der 1960er Jahre entwickelt wurde. Es ist ein früher Vorfahr der C-Sprache über die BCPL- und B- Sprachen.

Design

CPL wurde zunächst am Mathematical Laboratory der University of Cambridge als „Cambridge Programming Language“ entwickelt und später gemeinsam von Cambridge und der University of London Computer Unit als „Combined Programming Language“ veröffentlicht. Christopher Strachey , David Barron und andere waren an seiner Entwicklung beteiligt. (CPL wurde von einigen auch als "Cambridge Plus London" oder "Christopher's Programming Language" bezeichnet). Das erste Papier, in dem es beschrieben wurde, wurde 1963 veröffentlicht, während es auf dem Titan Computer in Cambridge und dem Atlas Computer in London implementiert wurde .

Es wurde stark von ALGOL 60 beeinflusst , aber anstatt extrem klein, elegant und einfach zu sein, war CPL für einen breiteren Anwendungsbereich als wissenschaftliche Berechnungen gedacht und war daher viel komplexer und nicht so elegant wie ALGOL 60. CPL war eine große Sprache für es ist Zeit. CPL versuchte, über ALGOL hinauszugehen, um industrielle Prozesssteuerung, Geschäftsdatenverarbeitung und möglicherweise einige frühe Kommandozeilenspiele einzubeziehen. CPL sollte Low-Level-Programmierung und High-Level-Abstraktionen unter Verwendung derselben Sprache ermöglichen.

CPL wurde jedoch nur sehr langsam implementiert. Der erste CPL-Compiler wurde wahrscheinlich um 1970 geschrieben, aber die Sprache hat nie viel Popularität erlangt und scheint irgendwann in den 1970er Jahren spurlos verschwunden zu sein.

BCPL (für "Basic CPL", obwohl ursprünglich "Bootstrap CPL") war eine viel einfachere Sprache auf der Grundlage von CPL, die hauptsächlich als Systemprogrammiersprache gedacht war , insbesondere zum Schreiben von Compilern ; es wurde erstmals 1967 vor der ersten Implementierung von CPL implementiert. BCPL führte dann über B , die beliebte und einflussreiche C - Programmiersprache .

Beispiel

Die Funktion MAX nach Peter Norvig:

Max(Items, ValueFunction) = value of
§ (Best, BestVal) = (NIL, -∞)
while Items do §
(Item, Val) = (Head(Items), ValueFunction(Head(Items)))
if Val > BestVal then (Best, BestVal) := (Item, Val)
Items := Rest(Items) §⃒
result is Best §⃒

(Das Schließsymbol, das dem Eröffnungssymbol "§" entspricht, ist ein "§" mit einem vertikalen Strich. In Unicode "§⃒", aber das wird auf vielen Systemen nicht richtig angezeigt.)

Implementierungen

Es wird angenommen, dass CPL in den 1960er Jahren nie vollständig implementiert wurde, da es als theoretisches Konstrukt mit einigen Forschungsarbeiten zu Teilimplementierungen existierte.

Peter Norvig hat (für Yapps, einen Python- Compiler-Compiler ) einen einfachen CPL-zu- Python- Übersetzer für moderne Maschinen geschrieben.

Siehe auch

Verweise

Literaturverzeichnis