~ Office Supplies ~~ Buy Posters ~~ A-Z Products ~~ Website Advertising


BCPL programming language - Wikipedia

<<Up     Contents

BCPL programming language

BCPL is a computer programming language; its name is short for Basic CPL; CPL stands for Combined Programming Language. CPL was a joint development of Cambridge and London Universities. CPL was a large language which proved difficult to implement using the compiler techniques of the early 1960s. Consequently the project was not successful. However a cut down version of the language, minus the types and some of the more complex features, was designed by Martin Richards[?] whilst he was at the University of Cambridge in 1966. He named it BCPL. The first compiler implementation was written while he was visiting 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 16 kilobytes. Several operating systems were written partially or wholly in BCPL (for example, Tripos or Amiga Kickstart). A major cause of its portability lay in the form of the 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.

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 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

wikipedia.org dumped 2003-03-17 with terodump




 
 
29 carat yellow Golden TIGER EYE Quartz raw uncut facet grade rough gemstone Tigereye gem stone 5 gr
 29 carat yellow Golden TIGER EYE Quartz raw uncut grade Tigereye 5 gr 
 
25 ctw yellow green MALI GARNET gems Melee accent facet raw rough gemstones lots Faceting jewels cts
 25 ctw yellow green MALI GARNET Melee accent raw lots ing jewels cts 
 
30 cts rare Brazil yellow green AMBLYGONITE Facet rough crystal gemstone lots Faceting jewel parcels
 30 cts rare Brazil yellow green AMBLYGONITE crystal lots ing jewel parcels 
 
14 carat blue gray sapphire MOONSTONE feldspar orthoclase gem Cab cabochon jewelry gemstone 15x13 mm
 14 carat blue gray sapphire MOONSTONE feldspar orthoclase Cab cabochon jewelry 15x13 mm 
 
6 carats Pink TOURMALINE gem stone Tumble polished cabbing rough bi colored gemstone jewel 1 grams
 6 carats Pink TOURMALINE Tumble polished cabbing bi colored jewel 1 grams