Talk:bc (programming language)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing / Software (Rated C-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
C-Class article C  This article has been rated as C-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software (marked as Low-importance).
WikiProject Computer science (Rated C-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
C-Class article C  This article has been rated as C-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.


Just to head off any claims that the external link is self-promotion, I've got nothing to do with the CyrexSoft site. I spent about an hour implementing arccosine in bc before finding this link, so it would have helped me greatly. --Dantheox 06:20, 23 December 2005 (UTC)

A paragraph and additional reference relating to the dialect C-BC have been added. -- Mark Hopkins, 5 February 2006

Actual usage[edit]

It would be nice to see a list of its actual uses and users today.

Is it actually used by anyone for practical purposes? I've seen that it's called "an arbitrary precision calculator dating back from Unix stone age" (in the Parrot virtual machine source tree). --Amir E. Aharoni 11:01, 14 August 2006 (UTC)

I may be a little biased, since I developed C-BC. But, in fact, I use the language more frequently than C, itself, because of its interpretative ability and high precision math. Often, I will also use it for prototyping C programs or for writing elaborate shell scripts. A link to the source code for the larger language C-BC was not provided on the main page. But a copy of the source can be found in alt.sources from October 3, 1993, by doing a search in Google's USENET archive (Google groups).

-- Mark, 13 September 2006

not everyone knows C[edit]

Can we drop the references to C.

I am sure this can be described without referencing a language many people don't know.

PS I use occasionally, but like most unix tools , I am sure I'd use it more if I udnerstood it better.

DGerman 00:05, 10 December 2006 (UTC)

That would be a little difficult, since BC is based on C and was intently designed as a stripped down version of C, originally to provide a front-end for DC with a syntax more amenable for C programmers.

-- Mark, 12 December 2006

Requested move[edit]

Bc programming languageBc (Unix) — The current article name doesnt conform to the naming conventions. Bc is a Unix command line utility and is not a complete programming language, so I consider Bc (Unix) to be a better move than Bc (programming language). John Vandenberg 02:45, 4 March 2007 (UTC)


Add  # '''Support'''  or  # '''Oppose'''  on a new line in the appropriate section followed by a brief explanation, then sign your opinion using ~~~~. Please remember that this survey is not a vote, and please provide an explanation for your recommendation.

Survey - in support of the move[edit]

Survey - in opposition to the move[edit]


Are there non-unix implementations of bc? If so, that would resolve this immediately. bc is most certainly a complete programming language. It can be thought of as a simplified variant of C with built-in support for arbitrary-precision arithmetic. --dantheox 08:55, 4 March 2007 (UTC)

I dont think that merely having non-unix implementations would be sufficient on its own. e.g. sort (Unix) is also part of MSYS. If there were pre-Unix impl. of bc, that would definately mean "(Unix)" isnt the right tail.
OTOH, I'm not really overly concerned about what name is chosen, so I'm happy to go with bc (programming language) if you think that's the more reasonable name. John Vandenberg 09:41, 4 March 2007 (UTC)


Do we know where, when, why and by whom bc was first created? —Preceding unsigned comment added by (talk) 19:29, 25 November 2008 (UTC)

I fixed the missing (and worse, misrepresented) history in the introductory paragraph. Nyh (talk) 08:41, 4 May 2011 (UTC)

Why is it called "bc"?[edit]

"Dc" is called "dc" because it stands for desk calculator, but where did the name "bc" come from? Does the 'c' in "bc" stand for calculator, like in "dc", or is it a reference to the C programming language because of its syntax, or neither? (talk) 16:17, 21 August 2010 (UTC)

As the article explains, bc is short for "Bench Calculator". This is also the explanation I was given 25 years ago, when I first learned bc. However, I never understood what the phrase "bench calculator" actually means, or why a "bench" calculator is different from a "desk" calculator. I can't find any reasonable explanation why this word was used, or any proof that "bench calculator" isn't just a backronym. Nyh (talk) 11:45, 23 October 2011 (UTC)
This is an incorrect information and that is why I just changed its full name as given in the article to the correct basic calculator. See so for instance:
You'll have to scroll down to the section "Math and technology". If this does not suffice, please, do a simple Google search on both terms respectiveley. You're going to get what I got: Something like "GNU (or UNIX) + bc + "bench calculator"" gives, like, 500 results. Doing the same as "GNU (or UNIX) + bc + "basic calculator"" yields thousands of results. Done deal! Zero Thrust (talk) 11:32, 27 February 2012 (UTC)
Amazing. And for 25 years I was *sure* the B was for "bench". Looking at Google, other people are equally sure that it's "Bell Calculator", "Better Calculator". Amazingly, none of the Unix manual pages or books I have which talk about bc(1) ever explain its name. The name "Bench Calculator" is definitely not my own invention - try searching on for the phrase "bench calculator", and you can some 20 year old references to bc with this name. So the origin of the name remains a mystery, as far as I'm concerned, and I'm not convinced it's "basic calculator". Nyh (talk) 13:50, 27 February 2012 (UTC)


This program is outright dangerous. It outputs "1" for "5/4". Yes yes, I know I need to input the expression differently, but for any casual user who didn't grow up in the backward UNIX world, the fact that this program gives totally wrong results for the simplest expressions is dangerous. — Preceding unsigned comment added by Intrr (talkcontribs) 20:42, 12 January 2011 (UTC) I added a statement to this effect in the introductory section. Nyh (talk) 08:47, 4 May 2011 (UTC)

Dangerous? Have you ever heard of integer division? Are you familiar with any programming languages that were devised before, oh, 1980 and were not spoon-fed in a "college textbook" for undisciplined imbeciles? — Preceding unsigned comment added by (talk) 02:09, 1 March 2013 (UTC)

power function[edit]

There are two implementations of power function - one POSIX and one GNU - but I can't find any differences between them except variable naming and syntax subtleties (but the article states that GNU is backward compatible, so why keep two implementations)? (talk) 13:41, 6 December 2011 (UTC)

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Bc (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

You may set the |checked=, on this template, to true or failed to let other editors know you reviewed the change. If you find any errors, please use the tools below to fix them or call an editor by setting |needhelp= to your help request.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

If you are unable to use these tools, you may set |needhelp=<your help request> on this template to request help from an experienced user. Please include details about your problem, to help other editors.

Cheers.—InternetArchiveBot (Report bug) 06:16, 29 October 2016 (UTC)