Music Education
  Shopping Stores
  Auctions
  Audio Electronics
  Books
  Business
  CDs
  Concert Tickets
  Downloads
  DVDs
  Magazines
  Memorabilia
  MP3 Players
  Musical Instruments
  P2P File Sharing
  Pro Audio Recording
  Promotion
  SEO Search Ranking
  Sheet Music
  Video Games
  Videos
   
  Artists
  Bands
  Biography
  Blogs
  Charts
  Education
  Forums
  Free Music
  Genres
  Guitar Tabs
  Lyrics
  MySpace Friendster
  News
  Newsletter
  Personals
  Radio
  Resources
  Reviews
  Ringtones
  Shopping
  Web Directory
   
  About Music.us
  Affiliate Program
  Contact Us
  Link To Us
  Marketing Advertising
  Music Industry
  Partners



BCPL

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

© 2005 Music Entertainment Network. A Cyprus Roussos Music Entertainment Company. All Rights Reserved.

Articles from Wikipedia Encyclopedia are licensed under the GNU Free Documentation License. You may copy and modify it as long as the entire work (including additions) remains under this license. You must provide a link to http://www.gnu.org/copyleft/fdl.html. All text is available under the terms of the GNU Free Documentation License. All trademarks and service marks including Napster, Rio MP3 Player, iRock, Creative MP3 Player, iRiver, Apple iPod Portable MP3 Players + iTunes, eMusic, Guitar Center Musicians Friend, Zzounds Musical Instrument Equipment Store, BMG Music Service, Columbia House DVD Club, eBay, Amazon, Netflix, Jamster, Gamefly, Friendster, Music123 Musical Instruments, Billboard, MTV, Yahoo Launch, Overture Yahoo Search Marketing, MusicMatch, Kazaa, Kazaa Lite, Morpheus software, Real Rhapsody, Bose, Sheet Music Plus, Billboard Magazine, Rolling Stone Magazine, Walmart Downloads, Barnes and Noble book store, CDUniverse, Tower Records, MSN Music, MySpace, Limewire, WinMX, Google Adsense, Alibris, TicketsNow, MusicSpace, uBid are property of their respective owners. Music.us has no affiliation with MySpace or Friendster, but offers alternative services. Disclaimer: Uploading or downloading of copyrighted works without permission or authorization of copyright holders may be illegal and subject to civil or criminal liability and penalties. Please buy music and refrain from any illegal downloading activity. User submitted free content, including Wikipedia encyclopedia or modification thereof by end users, do not reflect the views and opinions of Music.us and are for educational and research development purposes. Our website offers advanced search for bands and artists bio and albums and browse options for artist band biographies resources and information. We offer blogs and community building tools for authors, bands and users. The Music.us Entertainment Network is web's most comprehensive one-stop shopping, community networking and education site. Find song lyrics, guitar tablature, posters, ring tones, free MP3 downloads and hourly updating news feeds on musicians and any genre style including rock, pop, hip hop, country, christian, rap, classical, folk, dance, latin, R and B, blues, punk, heavy metal, alternative, guitar, bass, drums, gospel, wedding, arabic, jazz, soundtrack, world, reggae, soul and more. Privacy Policy - Site Map - MP3 - Music Downloads - Song Lyrics