[Home]BCPL

HomePage | Recent Changes | Preferences

Showing revision 11
A computer programming language. BCPL stands for Basic CPL; CPL stands for Combined Programming Language. CPL was a joint development of Cambridge and London universities.

BCPL was designed by [Martin Richards]? whilst he was at the University of Cambridge in 1966. The first implementation was done at MIT in the spring of 1967. The language was described in a paper presented to the 1969 Spring Joint Computer Conference.

The language is lean, powerful, and portable. It proved possible to write small and simple compilers for it and was therefore a popular choice for bootstrapping a system. Reputedly some compilers could be run in 16k. Several operating systems were written partially or wholly in BCPL. It is unusual in having only one [data type]?: a word (a fixed number of bits, usually chosen to align with the architecture's machine word). The interpretation of any value was determined by the operators used to process the values (so, + added two values together treating them as integers; ! indirected through a value effectively treating it as a pointer). There was no type checking provided by the implementation.

Reputedly the language in which the original hello world program was written.

In 1979 implementations existed on at least 25 architectures. In 2001 it sees little use. C is the language of choice for systems programming.

The design of BCPL influenced B which in turn influenced C.

The philosophy of BCPL can summarised by quoting from the book (BCPL, the language and its compiler): "The philosophy of BCPL is not one of the tyrant who thinks he knows best and lays down the law on what is and what is not allowed; rather, BCPL acts more as a servant offering his services to the best of his ability without complaint, even when confronted with apparent nonsense. The programmer is always assumed to know what he is doing and is not hemmed in by petty restrictions."

Sources

"BCPL, the language and its compiler", Martin Richards and Colin Whitby-Strevens. 1980. Cambridge University Press. ISBN 1-521-28681-6 (amazon.com, search)

Richards, M. "BCPL - a tool for compiler writing and systems programming". Proceedings of the Spring Joint Computer Conference, vol 34, pp 557-566. 1969.

[the Jargon file]:

Martin Richards Home Page: http://www.cl.cam.ac.uk/users/mr/

MR's BCPL distribution: http://www.cl.cam.ac.uk/users/mr/BCPL.html


/Talk


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions | View current revision
Edited August 18, 2001 10:27 am by AxelBoldt (diff)
Search: