Basic Combined Programming Language | ||||
---|---|---|---|---|
Paradigma | imperatief | |||
Verschenen | 1967 | |||
Ontwerper | Martin Richards | |||
Typesysteem | geen | |||
Beïnvloed door | CPL | |||
Invloed op | B, C | |||
Website | http://www.cl.cam.ac.uk/~mr10/BCPL.html | |||
|
BCPL (Basic Combined Programming Language) is een programmeertaal voor computers, ontwikkeld door Martin Richards van de Universiteit van Cambridge. Oorspronkelijk was ze bedoeld als programmeertaal voor compilers van andere programmeertalen. Al wordt ze tegenwoordig niet vaak meer gebruikt, ze was zeer invloedrijk, omdat Dennis Ritchie deze taal indirect gebruikte als basis voor de tegenwoordig veelgebruikte programmeertaal C.
BCPL is ontwikkeld vanwege problemen met haar voorloper CPL, die ontstaan was in de vroege jaren 60. Martin Richards ontwikkelde als reactie BCPL door het verwijderen van eigenschappen uit de taal die compilatie moeilijk maakten. De eerste implementatie, voor de IBM 7094, werd geschreven toen Richards het Project MAC bezocht aan de MIT in de lente van 1967. De taal werd eerst beschreven in een verspreide publicatie tijdens de Spring Joint Computer Conference in 1969.
BCPL valt op doordat er geen typen zijn, waardoor bij ieder gebruik van een identifier moet worden aangegeven wat de bedoeling is, en er geen controle is op verkeerd gebruik. Het is bijvoorbeeld geoorloofd (maar niet erg zinvol) om het adres van een variabele te vermenigvuldigen met het adres van een functie.
Enkele voorbeelden van de syntaxis:
A:=!B | B is een adres. Sla de waarde op adres B op in A, |
C!4:=!(B+3) of liever C!4:=B!3 |
B en C zijn het beginadres van arrays. Kopieer element 3 van array B naar element 4 van array C, |
A:=D(5) | D is het adres van een subroutine. Roep subroutine D op met parameter 5, |
A:=D!(5) | D is het beginadres van een array. Tel 5 op bij D en sla de inhoud van dat adres op in A, |
In BCPL is het meestal niet nodig een puntkomma te schrijven tussen statements die op aparte regels staan.