Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
BCPL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== BCPL was first implemented by [[Martin Richards (computer scientist)|Martin Richards]] of the [[University of Cambridge]] in 1967.<ref name="IEEE_CPA_MRichards">{{cite web |url=https://www.computer.org/web/awards/pioneer-martin-richards |title=Martin Richards (2003 Computer Pioneer Award) |author=<!--Not stated--> |publisher=IEEE Computer Society |date=<!--Not stated--> |access-date=2017-11-24 |archive-url=https://archive.today/20171124083723/https://www.computer.org/web/awards/pioneer-martin-richards |archive-date=2017-11-24 |url-status = dead}}</ref> BCPL was a response to difficulties with its predecessor, Cambridge Programming Language, later renamed [[Combined Programming Language]] (CPL), which was designed during the early 1960s. Richards created BCPL by "removing those features of the full language which make compilation difficult". The first compiler implementation, for the [[IBM 7094]] under [[Compatible Time-Sharing System]], was written while Richards was visiting [[Project MAC]] at the [[Massachusetts Institute of Technology]] in the spring of 1967. The language was first described in a paper presented to the 1969 Spring [[Joint Computer Conference]].{{Citation needed|date=January 2017}} BCPL has been rumored to have originally stood for "Bootstrap Cambridge Programming Language", but CPL was never created since development stopped at BCPL, and the acronym was later reinterpreted for the BCPL book.{{Clarify|date=January 2017}}{{Citation needed|date=January 2017}} BCPL is the language in which the original [[hello world program|"Hello, World!" program]] was written.<ref>[http://www.catb.org/jargon/html/B/BCPL.html BCPL], ''[[Jargon File]]''</ref> The first [[Multi-user dungeon|MUD]] was also written in BCPL (''[[MUD1]]''). Several [[operating system]]s were written partially or wholly in BCPL (for example, [[TRIPOS]] and the earliest versions of [[AmigaDOS]]). BCPL was also the initial language used in the [[Xerox PARC]] [[Alto (computer)|Alto]] project. Among other projects, the [[Bravo (software)|Bravo]] [[Word processor|document preparation system]] was written in BCPL. An early compiler, bootstrapped in 1969, by starting with a paper tape of the O-code of Richards's [[Titan (1963 computer)|Atlas 2]] compiler, targeted the [[ICT 1900 series]]. The two machines had different word-lengths (48 vs 24 bits), different character encodings, and different packed string representations—and the successful bootstrapping increased confidence in the practicality of the method. By late 1970, implementations existed for the [[GE-600 series|Honeywell 635 and Honeywell 645]], [[IBM 360]], [[PDP-10]], [[TX-2]], [[CDC 6400]], [[UNIVAC 1108]], [[PDP-9]], [[KDF 9]] and Atlas 2. In 1974 a dialect of BCPL was implemented at [[BBN Technologies|BBN]] without using the intermediate O-code. The initial implementation was a [[cross-compiler]] hosted on BBN's [[TENEX (operating system)|TENEX]] [[PDP-10]]s, and directly targeted the [[PDP-11]]s used in BBN's implementation of the second generation [[Interface Message Processor|IMPs]] used in the [[ARPANET]]. There was also a version produced for the [[BBC Micro]] in the mid-1980s, by Richards Computer Products, a company started by John Richards, the brother of Martin Richards.<ref>{{cite web|url=http://www.thebaron.info/archives/technology/reuters-technical-development-glossary|title=Reuters technical development: Glossary - THE BARON|website=www.thebaron.info}}</ref> The [[BBC Domesday Project]] made use of the language. Versions of BCPL for the [[Amstrad CPC]] and [[Amstrad PCW]] computers were also released in 1986 by UK software house Arnor Ltd. MacBCPL was released for the Apple Macintosh in 1985 by Topexpress Ltd, of Kensington, England. Both the design and philosophy of BCPL strongly influenced [[B (programming language)|B]], which in turn influenced [[C (programming language)|C]].<ref name="C_Prog_Lang_KR">{{cite book |url=https://archive.org/details/cprogramminglang00bria |title=The C Programming Language |date=1978 |publisher=Bell Telephone Laboratories |isbn=0-13-110163-3 |pages=2 |author1=Kernighan, Brian W. |author2=Dennis M. Ritchie }}</ref> Programmers at the time debated whether an eventual successor to C would be called "D", the next letter in the alphabet, or "P", the next letter in the parent language name. The language most accepted as being C's successor is [[C++]] (with <code>++</code> being C's [[increment operator]]),<ref>[http://www.cplusplus.com/info/history/ History of C++] Retrieved 12 December 2017</ref> although meanwhile, a [[D (programming language)|D]] programming language also exists. In 1979, implementations of BCPL existed for at least 25 architectures; the language gradually fell out of favour as C became popular on non-Unix systems. Martin Richards maintains a modern version of BCPL on his website, last updated in 2023.<ref>{{cite web |url=https://www.cl.cam.ac.uk/~mr10/BCPL/README |title=BCPL/README (BCPL Cintcode distribution) |author=Martin Richards}}</ref> This can be set up to run on various systems including Linux, FreeBSD, and Mac OS X. The latest distribution includes graphics and sound libraries, and there is a comprehensive manual. He continues to program in it, including for his research on musical automated [[score following]]. A common informal [[Media type|MIME type]] for BCPL is {{mono|text/x-bcpl}}.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)