If the words computation and calculation are not perfect synonyms what is the difference between them? Which one describes more accurately what is done by a person computing or calculating something on a piece of paper?
8 Answers
They're pretty close to synonyms, but "calculation" implies a strictly arithmetic process, whereas "computation" might involve applying rules in a systematic way. You would calculate your mortgage payment, and you might compute your actuarial health risk.
All this, IMHO.
-
4In abstract mathematics one often computes things (not necessarily numbers but more general structures) by proving that they are "isomorphic" to things one already knows well. This need not involve inserting numbers into formulas. In that case, would you say that "computation" is the more appropriate choice?– RasmusCommented Jan 27, 2011 at 21:35
-
2Yes, I think that by invoking a more complex process than mere arithmetic, you're transitioning from "calculation" to "computation". Commented Jan 27, 2011 at 21:57
-
1If that distinction were true (which I don't accept) it would be at odds with, for example, all these usages of I calculate to mean I think. Commented Aug 12, 2011 at 14:38
-
3@Rasmus: this is a case, I think, where the connotations in abstract mathematics are different from the colloquial ones. For literal uses in colloquial speech, I think @Chris nails it pretty well (though as @FumbleFingers points out, there are figurative uses too). But in maths it’s quite idiomatic to talk about eg “calculating homology groups” or other structures. Computing is also fine, but slightly less common, unless one’s actually talking about algorithms. Comparing google results for eg
compute homology
,calculate homology
shows this difference in usage.– PLLCommented Aug 12, 2011 at 16:04 -
1@ChrisB.Behrens So you would always compute a derivative (like d/dx x^2 = 2x), because it's not mere arithmetics? Other people use calculate for derivatives and integrals quite commonly. Actually both "calculate derivative" and "calculate integral" dominate over "compute derivative" and "compute integral" in google hits. Commented Jun 11, 2014 at 17:44
Speaking as a Computer Science graduate...
A computation
may involve executing steps as complex as a Turing-complete program. In other words, something that requires repetition
(a loop of some kind) and/or selection
(choosing what different operations to do next based on the result of previous ones).
A calculation
would simply be a computation that requires neither repetition nor selection.
That might be a bit much for a layman though.
-
3I agree. Computation to me implies following an algorithm whereas calculation is using mathematical operations only. But I think in common usage the terms are virtually synonymous– tinydCommented Aug 12, 2011 at 15:00
-
4This isn't a general distinction in computer science, not least because it's not especially useful.– MarcinCommented Aug 13, 2011 at 10:17
-
2
-
Long division requires repetition and selection but would be considered a calculation by most people.– Stuart FCommented Feb 13, 2022 at 14:37
-
I'm a programmer, too, so that fact may be informing both of our perspective on the words. Commented Feb 13, 2022 at 16:06
I disagree with other answers attempting to make some subtle distinction between computation and calculation based on the complexity of the operation, or whether it involved a computer. They're probably as close as you can get to the almost mythical true synonyms.
Even with the related verb form computed, I was surprised to find this hasn't become significantly more common since computers became widespread. In fact, calculated continues to dominate...
However, there are "idiomatic" contexts (particularly in casual speech) where only one word is used. For example...
does not compute sometimes means makes no sense (always in the negative).
calculate sometimes means think, consider, believe (with no arithmetic involved).
-
1
For something on a piece of paper, especially a napkin or back of an envelope, I would use calculation. Not accidentally, I think calculation implies something you would do with a calculator; computation something that would require a computer. (Granted, many of today's calculators are much more powerful than the "computers" that were available in the early days of computing.)
The difference is fairly subtle, though, and it is no great crime to use either word in place of the other.
I concur with other answers. Computation gives the nuance of a longer and more involved process, not strictly numerical.
Historically, computation has been associated with more complex tasks (the word "comput" was used for the theory and long-term calculations of the religious calendars, Easter sunday as a basis for the whole liturgical year in particular).
Computation has also parts of its meaning coming from looking up tables of data, of curves (see also nomography, abaque) or making such tables for others to use (see almanach, ephemerides). Starting mainly in the 17th century, this could be trigonometric and logarithm tables, astronomical or sea level predictions, etc. But we have found large tables of computations in ancient civilisations of Mesopotamia, China, America.
I think the current majority opinion here (e.g., Chris B. Behrens, ogerard, etc.) is wrong or should be wrong. (I say "or should be" because this site is about as dispositive in a determination of what is the truth as any, so if the majority of people here say something, it could, somewhat by definition, be correct.)
In short:
I think calculate does entail or should entail algebra or use of Newton/Leibniz calculus, while compute should entail mere arithmatic, either done mentally, by hand, or using a computer, but not something that requires something like Wolfram Alpha, which can now do algebra and calculus.
The longer explanation:
As a preliminary remark, I'd like to point out that the rationales supplied by the majority opinion is highly subjective in nature (e.g., "IMHO", or "In My Honest Opinion"). The answer I will supply is much less subjective, and has history behind it. I will include hyperlinks, so readers can verify my logic.
My opposing answer is basically due to the words themselves and the etymology of them more specifically. According to http://www.etymonline.com/index.php?term=compute,
compute (v.) Look up compute at Dictionary.com 1630s, from French computer, from Latin computare "to count, sum up, reckon together," from com "with, together" (see com-) + putare "to reckon," originally "to prune," from PIE root *pau- (2) "to cut, strike, stamp." Related: Computed; computing.
The "count" aspect is right there. It is highly suggestive of simple arithmetic. We all know about computers doing arithmetic. Historically, that was their first use. But, people needed to program them, which requires complex thought. More specifically, prior to any programming, use of calculus, or, to be more precise, derivations, might be needed. The plugging in of the numbers should be the computation, since you need a computer.
Now let's compare this to the etymology of calculate:
calculate (v.) Look up calculate at Dictionary.com 1560s, "to ascertain by computation, estimate by mathematical means," from Latin calculatus, past participle of calculare "to reckon, compute," from calculus (see calculus). Meaning "to plan, devise" is from 1650s; hence "to purpose, intend" and "to think, guess," both 19c. U.S. idioms. Replaced earlier calculen (mid-14c.), from Old French calculer. Related: Calculable.
I put in bold some of the verbs which are suggestive of deriving using algebra or calculus vs. mere plugging in numbers into a computer. Note the only thing there suggestive of something simple is the first phrase, but this merely is saying the words are interchangeable, which they are by many people now, unfortunately, since there would be utility in having one word more representative of complex derivations. The use, above, of "estimate" suggests actually the opposite of plugging in numbers, since you get as an exact answer as you want in that case.
In summary, the history of the use of the word calculate suggests more complex tasks, while compute suggests mere arithmetic.
If you read carefully, you will see that an objection to what I've written has already been made by John Y. You see, the word calculator exists. Calculators originally just did simple arithmetic. Modern ones do calculus as well. Anyway, if you look up that word on the same site it suggests that calculator is really short for calculating machine, just like a computer, which indeed a calculator is, just smaller. With this in mind, we should be OK trying, here, to perhaps improve or restore the English language by suggesting to all readers that calculate be the word that can encompass calculus and deriving while compute should be confined to plugging in numbers and finding answers to simple arithmetic.
If you agree, please upvote this answer. If you disagree, please downvote it after posting an exact explanation of why I'm allegedly wrong.
The difference between calculation, and computation, is that calculation is arithmetical, whereas computation includes Boolean logic.
You may not see or know the Boolean logic... but it is always there, in your system!
Boolean logic is what 'makes a computer a computer'. It allows the processing of word-based rules using words such as 'if', 'or','and', 'not' and 'go to', and allows simple logical instructions to be built up using those words.
Those simple logic statements build up into much more complex ones - and simple statements may reference or 'call' huge other libraries of 'code' - computational language using Boolean logic - that are the foundation of, and allow, computers to do absolutely all the things they do - from word processing to sending your email, to Facebook, to using your mobile phone, none of which would function - even, exist - without Boolean logic.
For example:
wait (for input from the user) If a (if an 'a' is pressed on the keyboard) Put a (on the screen)
A very simple example of 'making the letter 'a' appear on your computer screen, using Boolean logic.
Boolean logic statements build up, and programs written using the 'language' - rules of what the various words in a programming language do - is what allows your computer to... compute.
Now, a computer doesn't have to be made of silicon chips. You can compute with Boolean logic using physical things. For example, the ricefield irrigation system is a 'computer'. It has intrinsic Boolean logic like this:
If channel a is open Then send water to channel b If channel b is open, then flow.. and wet field happens Else, stop
The logic in this case is built into the system of channels and gates that open or close those channels to allow the water to flow, or not - which is just how your computer works - allowing data (in my example, the data happens to be water) to flow when the gate is open or on '0', or not allowing the data to flow - closing the data flow - when the gate is on '1'.
I can show you how to make a functioning computer, that will process information, using six knitting needles, a cardboard cereal box, and some square cards, so computers do not have to 'look like a computer' - and they do not have to use silicon chips!
A stonehenge ancient computer program might look like:
If... the light from the moon hits the tip of stone 'a' Then... it's the spring equinox
Note the use of Boolean logic - the 'if' and 'then' statements that allow computation to occur.
You can't do that with arithmetic. You have to have Boolean logic present, to compute.
Here's a link to George Boole, the father of computing in modern times, without which - no laptop, no mobile phone, without which... you would not be worrying about how much time you spend on Facebook! Because there would be no... Facebook.
Boole was a Victorian genius mathematician who created a way of notating logical thought and setting down reasoning on paper. He won awards and apparently gave fabulous tea-parties. This latter fact seems to have been removed from the wiki about him - probably on the basis that was not relevant or was frivolous.
But I find it a great thing that a man who can found, really the entire modern world of development, enabling creations from the space program to the modern banking system to exist, enabling in fact our very ability to interconnect and communicate on this very system here now - was not an overworking robot - and he actually had time to talk and play with his friends.
The wiki at the link below mildly notes 'Boolean logic is credited with laying down the foundations for the information age' but it could more accurately say 'Boolean logic is the founding stone, the sine qua non, of the information age'.
https://en.m.wikipedia.org/wiki/George_Boole
To return to your question - somebody calculating something on a piece of paper might be adding up numbers - checking their grocery bill for example. That is 'calculation'.
However, discovering that it is incorrect and they have been overcharged - they then need to 'compute' what they need to do.
Go back to the supermarket - is there time? - is it still open? Is it worth it, for the amount that is incorrect? This is all 'computing' - using data logically to make decisions. You do it in your head, or you can do it on a computer. We could even express the process as a makeshift logic string using an example of yes, Boolean logic, like this:
A. What is the time now: 4pm B. What time does the shop close: 5pm C. Amount of error: they owe me 80 cents D. Cost of shoe leather to walk to shop: 20 cents E: Time to walk to shop: 30 minutes
Program: If C - D is less than $1, stay home And If B - A is more than 30 minutes, stay home Else - go back to shop
That is 'computing' - calculating with the addition of boolean logic strings such as 'if', 'and' 'else'.
So - calculation is adding up numbers - whereas computation is processing information logically, using the kind of words and reasoning, that is known as 'boolean logic'.
From perspectives of regular chess / chess960 player and of bachelor and master in applied maths
"calculation" implies a strictly arithmetic process, whereas "computation" might involve applying rules in a systematic way.
I think the opposite. In chess / chess960, you 'calculate' a certain move. In maths, you 'compute' an integral.
So I think computing is like just giving a particular number while calculating is like planning something and then say computing say various statistics as part of the planning.