CPL (programovací jazyk) - CPL (programming language)

CPL
Paradigma Multi-paradigma : procedurální , imperativní , strukturované , funkční
Navrhl Christopher Strachey a kol.
Poprvé se objevil 1963 ; Před 58 lety ( 1963 )
Ovlivněno
ALGOL 60
Ovlivněno
BCPL , POP-2

CPL ( Combined Programming Language ) je programový jazyk s více paradigmaty , který byl vyvinut na počátku 60. let. Je časný předchůdce jazyka C přes BCPL a B jazyky.

Design

CPL byl původně vyvinut v Mathematical Laboratory na University of Cambridge jako „Cambridge Programming Language“ a později publikován společně mezi Cambridge a Computer Unit University of London jako „Combined Programming Language“. Na jeho vývoji se podíleli Christopher Strachey , David Barron a další. (CPL někteří také přezdívali jako „Cambridge Plus London“ nebo „Christopher's Programming Language“). První dokument popisující jeho vydání byl publikován v roce 1963, zatímco byl implementován na počítači Titan v Cambridge a Atlas Computer v Londýně.

Byl silně ovlivněn programem ALGOL 60 , ale místo toho, aby byl extrémně malý, elegantní a jednoduchý, byl CPL určen pro širší oblast použití než vědecké výpočty, a byl proto mnohem složitější a ne tak elegantní jako ALGOL 60. CPL byl velký jazyk pro je čas. CPL se pokusila jít nad rámec ALGOL a zahrnout řízení průmyslových procesů, zpracování obchodních dat a možná i některé hry z raného příkazového řádku. Cílem CPL bylo umožnit programování na nízké úrovni a abstrakce na vysoké úrovni ve stejném jazyce.

CPL však bylo implementováno jen velmi pomalu. První překladač CPL byl pravděpodobně napsán kolem roku 1970, ale jazyk si nikdy nezískal velkou popularitu a zdá se, že zmizel beze stopy někdy v 70. letech.

BCPL (pro „Basic CPL“, i když původně „Bootstrap CPL“) byl mnohem jednodušší jazyk založený na CPL, určený především jako programovací jazyk systémů , zejména pro psaní překladačů ; poprvé byla implementována v roce 1967, před první implementací CPL. BCPL pak vedl přes B , na populární a vlivné C programovací jazyk .

Příklad

Funkce MAX formulovaná Peterem Norvigem:

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 §⃒

(Uzavírací symbol, který odpovídá úvodnímu symbolu „§“, je „§“ se svislým tahem. V Unicode „§⃒“, ale to se na mnoha systémech nezobrazuje správně.)

Implementace

Předpokládá se, že CPL nebyl nikdy plně implementován v šedesátých letech, existoval jako teoretický konstrukt s některými výzkumnými pracemi na částečných implementacích.

Peter Norvig napsal (pro Yapps, kompilátor-kompilátor Pythonu ) jednoduchý překladač CPL do Pythonu pro moderní stroje.

Viz také

Reference

Bibliografie