CPL (programmeringsspråk)

CPL
Paradigm Multiparadigm : procedurmässigt , imperativt , strukturerat , funktionellt
Designad av Christopher Strachey et al.
Dök först upp 1963 ; 60 år sedan ( 1963 )
Påverkad av
ALGOL 60
Influerad
BCPL , POP-2

CPL ( Combined Programming Language ) är ett programmeringsspråk med flera paradigm, som utvecklades i början av 1960-talet. Det är en tidig förfader till C-språket via BCPL- och B -språken.

Design

CPL utvecklades initialt vid Mathematical Laboratory vid University of Cambridge som "Cambridge Programming Language" och publicerades senare tillsammans mellan Cambridge och University of London Computer Unit som "Combined Programming Language". Christopher Strachey , David Barron och andra var involverade i dess utveckling. (CPL fick också smeknamnet av vissa som "Cambridge Plus London" eller "Christophers programmeringsspråk"). Det första dokumentet som beskrev det publicerades 1963, medan det implementerades på Titan Computer i Cambridge och Atlas Computer i London.

Den var starkt influerad av ALGOL 60 , men istället för att vara extremt liten, elegant och enkel var CPL avsedd för ett bredare användningsområde än vetenskapliga beräkningar och var därför mycket mer komplex och inte lika elegant som ALGOL 60. CPL var ett stort språk för det är dags. CPL försökte gå längre än ALGOL för att inkludera industriell processkontroll, affärsdatabehandling och möjligen några tidiga kommandoradsspel. CPL var tänkt att tillåta lågnivåprogrammering och abstraktioner på hög nivå med samma språk.

CPL implementerades dock bara mycket långsamt. Den första CPL-kompilatorn skrevs förmodligen omkring 1970, men språket blev aldrig särskilt populärt och verkar ha försvunnit spårlöst någon gång på 1970-talet.

BCPL (för "Basic CPL", även om ursprungligen "Bootstrap CPL") var ett mycket enklare språk baserat på CPL som främst var avsett som ett systemprogrammeringsspråk , särskilt för att skriva kompilatorer ; det implementerades först 1967, före CPL:s första implementering. BCPL ledde sedan, via B , till det populära och inflytelserika programmeringsspråket C.

Exempel

Funktionen MAX som formulerats av Peter Norvig:

Max(Artiklar, ValueFunction) = värdet av § (Bästa, BestVal) = (NIL, -∞) medan Artikel gör § (Artikel, Val) = (Head(Artiklar), ValueFunction(Head(Artiklar))) om Val > BestVal sedan (Bästa, BestVal) := (Artikel, Val) Artiklar := Rest(Artiklar) §⃒ resultatet är Bästa §⃒

(Den avslutande symbolen för att matcha öppningssymbolen "§" är en "§" med ett vertikalt streck genom det. I Unicode, "§⃒", men det visas inte korrekt på många system.)

Genomföranden

Man tror att CPL aldrig implementerades fullt ut på 1960-talet, eftersom det existerade som en teoretisk konstruktion med en del forskningsarbete om partiella implementeringar.

Peter Norvig har skrivit (för Yapps, en Python- kompilator-kompilator ) en enkel CPL till Python- översättare för moderna maskiner.

Se även

Bibliografi