FACTOID # 58: Looking for geniuses? Head straight to Iceland. There are more than 3 Nobel Prize Winners for every million Icelanders.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > BCPL programming language

BCPL (Basic Combined Programming Language) is a computer programming language that was designed by Martin Richards of the University of Cambridge (1966) as a response to difficulties with its predecessor CPL during the 1960s. The first compiler implementation was written while he was visiting MIT (spring -- 1967). The language was first described in a paper presented to the 1969 Spring Joint Computer Conference. Dennis Ritchie would later develop the C programming language from BCPL.


The language is clean, 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 16 kilobytes. Several operating systems were written partially or wholly in BCPL (for example, TRIPOS or Amiga Kickstart). A major reason for BCPL's portability lay in the structure of its compiler. It was split into two parts. The front end parsed the source and generated O-code for a virtual machine; the backend took the O-code and translated it into the code for the target machine. Soon afterwards this became fairly common practice, cf. Pascal or Java, but the Richards BCPL compiler was the first to define a virtual machine for this purpose.


The language 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). In order for this to work, the implementation provided no type checking.


It is reputedly the language in which the original hello world program was written. The first MUD was also written in BCPL [1] (http://www.mudconnect.com/mud_intro.html).


In 1979 implementations existed for at least 25 architectures; in 2001 it sees little use. Its successor, C, is now the language of choice for systems programming.


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


The philosophy of BCPL can be 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, Richards, M and Whitby-Stevens, C. Cambridge University Press, 1980. (ISBN 0-521-28681-6)
  • BCPL - a tool for compiler writing and systems programming, Richards, M. Proceedings of the Spring Joint Computer Conference, vol 34, pp 557-566, 1969.

External links

  • the Jargon file (http://www.catb.org/~esr/jargon/html/B/BCPL.html):
  • 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





  Results from FactBites:
 
BCPL - Wikipedia, the free encyclopedia (888 words)
BCPL (Basic Combined Programming Language) is a computer programming language that was designed by Martin Richards of the University of Cambridge in 1966; it was originally intended for use in writing compilers for other languages.
BCPL was a response to difficulties with its predecessor CPL, created during the early 1960s; Richards created BCPL by "removing those features of the full language which make compilation difficult".
BCPL is reputedly the language in which the original hello world program was written.
Programming language - Wikipedia, the free encyclopedia (3872 words)
Programming languages are used to facilitate communication about the task of organizing and manipulating information, and to express algorithms precisely.
The combination of the language definition, the program, and the program's inputs must fully specify the external behavior that occurs when the program is executed.
Programming language syntax is usually defined using a combination of regular expressions (for lexical structure) and Backus-Naur Form (for grammatical structure).
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m