Difference between ‘compute’ and ‘calculate’

by Jakub Marian

Tip: Are you a non-native English speaker? I have just finished creating a Web App for people who enjoy learning by reading. Make sure to check it out; there's a lot of free content.

The words “compute” and “calculate” are almost always interchangeable, as are the related forms “computation” and “calculation”. The easiest way to understand the subtle distinction people make when using the two variants is to look at yet another set of words derived from them: computer and calculator.

We use a calculator to perform simple arithmetic operations, whereas a computer is typically used to perform complicated tasks, often involving complex algorithms. You may therefore use the words “calculate” and “calculation” to indicate simplicity and “compute” and “computation” to indicate complexity.

Nonetheless, this is not a hard-and-fast rule. You can still say that “scientists calculated the orbit of Ceres”, even if they used a supercomputer, and that “students computed the average age of the class”, even though it required only addition and division.

It is, however, worth noting that both “calculate” and “compute” have meanings in which they are not interchangeable. “To calculate” can also mean “to estimate, to gauge using the information available”:

correct It is hard to calculate what the consequences of this policy are.
wrong It is hard to compute what the consequences of this policy are.

which is also why we say that something or someone unpredictable is “incalculable”, not “incomputable”. Similarly, “compute” is sometimes used colloquially in place of “make sense”, as in

correct Honestly, your explanation doesn’t compute. (colloquial)
wrong Honestly, your explanation doesn’t calculate.

but such usage should be avoided in formal writing and speaking.

By the way, have you already seen my brand new web app for non-native speakers of English? It's based on reading texts and learning by having all meanings, pronunciations, grammar forms etc. easily accessible. It looks like this:

0