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
B (programming language)
(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!
{{Short description|Procedural programming language}} {{about|a programming language developed at Bell Labs|"b" language of Meertens and Pemberton|ABC (programming language)|other uses|B (disambiguation)}} {{Infobox programming language | name = B | logo = | logo caption = | paradigm = | year = {{start date and age|1969}}<ref>{{cite web|url=http://www.britannica.com/EBchecked/topic/1663863/B|title=B - computer programming language}}</ref> | designer = [[Ken Thompson (computer programmer)|Ken Thompson]] | developer = [[Ken Thompson (computer programmer)|Ken Thompson]], [[Dennis Ritchie]] | latest_release_version = | latest_release_date = | latest_test_version = | latest_test_date = | turing-complete = yes | typing = typeless (everything is a [[Word (computer architecture)|word]]) | dialects = | influenced_by = [[BCPL]], [[PL/I]], [[TMG (language)|TMG]] | influenced = [[C (programming language)|C]] | operating_system = | license = | website = | file_ext = .b }} '''B''' is a [[programming language]] developed at [[Bell Labs]] circa 1969 by [[Ken Thompson (computer programmer)|Ken Thompson]] and [[Dennis Ritchie]]. B was derived from [[BCPL]], and its name may possibly be a contraction of BCPL. Thompson's coworker Dennis Ritchie speculated that the name might be based on Bon, an earlier, but unrelated, programming language that Thompson designed for use on [[Multics]].{{refn|group=note|"Its name most probably represents a contraction of BCPL, though an alternate theory holds that it derives from Bon [Thompson 69], an unrelated language created by Thompson during the Multics days. Bon in turn was named either after his wife Bonnie or (according to an encyclopedia quotation in its manual), after [[Bon|a religion]] whose rituals involve the murmuring of magic formulas."<ref name="chist">{{cite journal| first = Dennis M.| last = Ritchie| author-link = Dennis Ritchie| title = The Development of the C Language| date=March 1993 | journal = ACM SIGPLAN Notices| volume = 28 | issue = 3| pages = 201β208| url = http://www.bell-labs.com/usr/dmr/www/chist.html| doi = 10.1145/155360.155580|doi-access = free}}</ref>}} B was designed for recursive, non-numeric, machine-independent applications, such as system and language software.<ref name=bur>{{cite web | first = Ken | last = Thompson | author-link = Ken Thompson (computer programmer) | title = Users' Reference to B | date= 7 January 1972 | access-date = 21 March 2014 | publisher = Bell Laboratories | url = https://www.bell-labs.com/usr/dmr/www/kbman.pdf | archive-url = https://web.archive.org/web/20150317033259/https://www.bell-labs.com/usr/dmr/www/kbman.pdf |archive-date = 17 March 2015 }}</ref> It was a typeless language, with the only data type being the underlying machine's natural [[memory word]] format, whatever that might be. Depending on the context, the word was treated either as an [[integer]] or a [[memory address]]. As machines with [[ASCII]] processing became common, notably the [[DEC PDP-11]] that arrived at Bell Labs, support for character data stuffed in memory words became important. The typeless nature of the language was seen as a disadvantage, which led Thompson and Ritchie to develop an expanded version of the language supporting new internal and user-defined types, which became the ubiquitous [[C programming language]].
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)