CPL (Programmiersprache) - CPL (programming language)
Paradigma | Multiparadigma : prozedural , zwingend , strukturiert , funktional structured |
---|---|
Entworfen von | Christopher Stracheyet al. |
Erstmals erschienen | 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
- Gesammelte Schriften von Christopher Strachey, Abschnitt zu CPL, archiviert in der Bodleian Library, Oxford; CSAC 71.1.80/C.136-C.184
- D. W. Barron, J. N. Buxton, D. F. Hartley, E. Nixon und C. Strachey. "Die Hauptmerkmale von CPL" The Computer Journal 6 :2:134-143 (1963), online verfügbar .
- J. Buxton, J. C. Gray und D. Park. CPL Grundlegendes Programmierhandbuch, Ausgabe II (Cambridge) .
- University of London Institute of Computer Science und The Mathematical Laboratory, Cambridge. CPL-Arbeitspapiere .