CPL (programming language)

CPL (programming language)
CPL
Paradigm(s)

multi-paradigm:

procedural, imperative, structured, functional
Appeared in 1963
Designed by Christopher Strachey et al.
Influenced by ALGOL 60
Influenced BCPL, POP-2

CPL (from Combined Programming Language and Cambridge Programming Language before that) was a multi-paradigm programming language, that was developed in the early 1960s.

Contents

Design

CPL was developed jointly between the Mathematical Laboratory at the University of Cambridge and the University of London Computer Unit during the 1960s hence CPL gained the nickname "Cambridge Plus London".[1] The collaborative effort was responsible for the "Combined" in the name of the language (previously, the name was Cambridge Programming Language). D. W. Barron and Christopher Strachey were involved (for others see paper). In 1963 (when the paper was published) it was currently being implemented on the Titan Computer at Cambridge and the Atlas Computer at London.

It was heavily influenced by ALGOL 60,[2] but instead of being extremely small, elegant and simple, CPL was intended for a wider application area than scientific calculations and was therefore much more complex and not as elegant as ALGOL 60. CPL was a big language for its time. CPL attempted to go beyond ALGOL to include industrial process control and business data processing, among other things. CPL was also intended to allow low-level programming and high level abstractions using the same language.

However, CPL was only implemented very slowly. The first CPL compiler was probably written about 1970[3], but the language never gained much popularity and seems to have disappeared without trace sometime in the 1970s.

A later language based on CPL, called BCPL (for Basic CPL, although originally Bootstrap CPL[4]) was a much simpler language intended primarily as a systems programming language, particularly for writing compilers. BCPL then led, via B, to the popular and influential C programming language.

Example

The function MAX as formulated by Peter Norvig[5]:

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 §

References

  1. ^ "Clive Feather on CPL and BCPL". http://www.lysator.liu.se/c/clive-on-history.html. 
  2. ^ Evan Buswell. "Undefined Intimacy with the Machine - Standard C and "Undefined Behavior"". Critical Code Studies 2010 Conference Proceedings. http://thoughtmesh.net/publish/367.php#. Retrieved 2010-03-04. "It began life as CPL, or Combined Programming Language, a language inspired by ALGOL 60 and APL. In the early 60s, CPL was developed jointly (hence "Combined") between the Mathematical Laboratory at the University of Cambridge and the University of London." 
  3. ^ Peter Norvig. "Prescient but Not Perfect: A Look Back at a 1966 Scientific American Article on Systems Analysis". http://blogs.scientificamerican.com/at-scientific-american/2011/08/23/systems-analysis-look-back-1966-scientific-american-article. 
  4. ^ Evan Buswell. "Undefined Intimacy with the Machine - Standard C and "Undefined Behavior"". Critical Code Studies 2010 Conference Proceedings. http://thoughtmesh.net/publish/367.php#. Retrieved 2010-03-04. "In the mid-60s, BCPL ("Bootstrap CPL") was designed as a language in which to create a compiler for CPL." 
  5. ^ Peter Norvig. "Prescient but Not Perfect: A Look Back at a 1966 Scientific American Article on Systems Analysis". http://blogs.scientificamerican.com/at-scientific-american/2011/08/23/systems-analysis-look-back-1966-scientific-american-article. 

Bibliography

  • Collected papers of Christopher Strachey, section pertaining to CPL, archived at the Bodleian Library, Oxford; CSAC 71.1.80/C.136-C.184
  • D. W. Barron, J. N. Buxton, D. F. Hartley, E. Nixon, and C. Strachey. "The main features of CPL" The Computer Journal 6:2:134-143 (1963).

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Combined Programming Language — The Combined Programming Language (CPL) 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 …   Wikipedia

  • Combined Programming Language — Pour les articles homonymes, voir CPL. CPL (Combined Programming Language) était un langage de programmation développé conjointement par le Laboratoire de Mathématiques (Mathematical Laboratory) de l Université de Cambridge et l Unité d… …   Wikipédia en Français

  • C (programming language) — C The C Programming Language[1] (aka K R ) is the seminal book on C …   Wikipedia

  • C (programming language) — C (langage) Pour les articles homonymes, voir C. C …   Wikipédia en Français

  • Basic Combined Programming Language — BCPL Paradigmen: imperativ, strukturiert Erscheinungsjahr: 1966 Entwickler: Martin Richards Typisierung: typenlos Einflüs …   Deutsch Wikipedia

  • Combined Programming Language — El Lenguaje de programación combinado (del inglés Combined Programming Languaje CPL) fue un lenguaje de programación desarrollado conjuntamente entre el Laboratorio de Matemática en la Universidad de Cambridge y la Unidad Computación de la… …   Wikipedia Español

  • CPL — or Cpl may refer to: Contents 1 In business 2 Certifications 3 In computer science 4 Libraries 5 …   Wikipedia

  • Cpl — {{{image}}}   Sigles d une seule lettre   Sigles de deux lettres > Sigles de trois lettres AAA à DZZ EAA à HZZ IAA à LZZ MAA à PZZ QAA à TZZ UAA à XZZ …   Wikipédia en Français

  • CPL — steht als Abkürzung für: Commercial Pilot Licence, ein Pilotenschein für Berufspiloten Corporal, ein Dienstgrad in der US Army Common Public License, eine Freie Software Lizenz Cost per Lead, eine Abrechnungsmethode im Online Marketing… …   Deutsch Wikipedia

  • CPL — comp. abbr. CAST Programming Language comp. abbr. Computer Projects Limited abbr. Combined Programming Language (DEC, PL/1) abbr. Conversational Programming Language (DEC) comp. abbr. Current Privilege Level acronym Combined Programming Language …   United dictionary of abbreviations and acronyms

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”