Main Page | See live article | Alphabetical index


CPL stood for Combined Programming Language. It was a computer programming language developed jointly between the Mathematical Laboratory at the University of Cambridge and the University of London Computer Unit during the 1960s. The collaborative effort was responsible for the "Combined" in the name of the language (previously, the name was Cambridge Programming Language). Christopher Strachey was involved (for others see paper). In 1963 (when the paper was published) it was currently being implemented on the Titan at Cambridge and the Atlas Computer at London.

It was heavily influenced by Algol 60, but unlike Algol 60 which was extremely small, elegant and simple, CPL was big, only moderately elegant, and complex. It was intended to be good for both scientific programming (in the way of FORTRAN and Algol) and also commercial programming (in the way of Cobol). It can be seen as a similar effort to PL/I in this way, or to later efforts such as Ada.

CPL proved just a bit much for the small computers and immature compiler technologies of the time. Properly working compilers were probably written by about 1970 (I'm not completely sure about that), but the language was never very popular and seems to have disappeared without trace sometime in the 1970s.

BCPL was designed as a seriously simplified cut-down version of CPL, and some of the same people were involved. I think the intent was to have a language they could write the CPL compiler in without having to resort to Assembler or FORTRAN. Although probably intended as a temporary quick and dirty tool until CPL was up, BCPL was much more successful than CPL and lasted much longer and was influential in the creation and design of the languages B and C.


Barron, D. W., Buxton, J. N., Hartley, D. F., Nixon, E., Strachey, C. "The main features of CPL". Computer Journal, volume 6, p 134 (1963).

CPL can also refer to the Cyberathelete Professional League, an online gaming league whose most popular video game is Counter-Strike.