Bc (programming language): Difference between revisions

Content deleted Content added
Correct reference. Only Unix man pages, or Unix standards documents, should be used as references for Unix programs. The same GNU bc man page is still listed further down, so no information is lost.
Mdmi (talk | contribs)
Identify Cherry as sole author of bc. Remove editorial comment about RPN. Rearrange text for stylistic reasons.
Line 23:
 
==History==
bc first appeared in [[Version 6 Unix]] in 1975. andIt was written by [[Robert Morris (cryptographer)|Robert Morris]] and [[Lorinda Cherry]] of [[Bell Labs]]. bcas wasa precededfront byend to [[dc (computer program)|dc]], an earlier arbitrary-precision calculator written by the[[Robert sameMorris (cryptographer)|Robert authorsMorris]] and Cherry. dc could doperformed arbitrary-precision calculations,computations butspecified itsin [[reverse Polish notation]]. (RPN)bc syntax—muchprovided loveda byconventional many for evaluating algebraic formulas<!-programming-language who?interface just about ''everyone'' who possessed an expensive [[HP calculators]] ofto the erasame -->—provedcapability inconvenient to its users when expressing flow control, and therefore bc was written asvia a front-end to dc. bc was a very simple [[compiler]] (a single [[yacc]] source file withcomprising a few hundred lines of code), which converted thea new,[[C (programming language)|C]]-like, bc syntax into dc's [[postfix notation]] and [[Pipeline (Unix)|piped]] the results through dc.
 
In 1991, [[POSIX]] rigorously defined and standardized bc. Three implementations of this standard survive today: The first is the traditional Unix implementation, a front-end to dc, which survives in Unix and [[Plan 9 from Bell Labs|Plan 9]] systems. The second is the [[free software]] [[GNU]] bc, first released in 1991 by Philip A. Nelson. The GNU implementation has numerous extensions beyond the POSIX standard and is no longer a front-end to dc (it is a [[bytecode interpreter]]). The third is a re-implementation by OpenBSD in 2003.