Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

In math, I just learned that when performing subtraction, the terms for each number are as follows:

minuend − subtrahend = difference

I have never heard of minuend and subtrahend before, and I'm fairly certain the majority of people I encounter have never heard these terms before either. Is there a better alternative to these two words?

Context: I'm writing some software that subtracts a set of items from another set of items, such as in this math.SE question. I need to name these two sets of items so they are easy to understand for an average user, or a future developer working on the same software.


For those who want to see code, I'm writing a PowerShell cmdlet that would be used like so:

Get-Difference -Minuend "a.csv" -Subtrahend "b.csv"

and in the code I may write something like:

var minuendData = readFile(minuendFilePath)

Currently I have the following comment at the top of my code:

// If you don't know what a minuend or a subtrahend is, then shame on you!
// http://dictionary.reference.com/browse/minuend
// http://dictionary.reference.com/browse/subtrahend

I could just use something like "A" or "B" but that is not as descriptive as I'd like it to be.

share|improve this question
Please note that this question is off-topic for EL&U.SE. See the faq, which specifically rules out questions involving "Naming, including naming programming variables/classes" ... –  Robusto Dec 13 '12 at 21:18
Phil, do you think it might come across as condescending to shame the developer who's taking the time to read your code? –  rajah9 Dec 13 '12 at 21:22
I remember these terms from math class in elementary school. If these are the right words (and your dictionary backs it up), perhaps you should consider these words, even if they're not familiar to you. It's better than coining new words. (I'm also aware the programming has brought us a retasking of "default," "invoke," and "deprecate." These used to mean refusing to pay back a loan, something done in a religious rite, and condemnation. Now it means a no-choice choice, a method call, and a method that is on the outs.) –  rajah9 Dec 13 '12 at 21:30
+1 for off-topic, but for what it's worth I would just use "A and B" or "X and Y" with documentation that your program does "A-B" or "X-Y". It's going to be far more obvious to your reader than using unfamiliar (albeit technically correct) terminology. –  Lynn Dec 13 '12 at 21:36
@Robusto Naming is definitely the context here, but the actual question is about using a word that more people would understand, regardless of context. If you'd like, I can delete the parts that mention naming. –  Phil Dec 13 '12 at 21:47
show 4 more comments

6 Answers

up vote 3 down vote accepted

How about:

Base - Diminisher = Difference

share|improve this answer
add comment

For a similar purpose, providing functionality in an engineering application, I am using Minuend and Subtrahend. They are obscure terms, but unambiguous. I would suggest that "Base" or "Start" may be ambiguous. If you are looking at the net effects of doing something, then you want to calculate (Number after doing something) - (Base Number)

share|improve this answer
add comment

My feeling is, if you've found a word that means exactly the thing that you need to express, then you should use it. If you worry that the words won't be understood by a broader audience because they are very domain-specific, include an option to see the definitions, or explain the terms in your help or usage text. It's never too late to help people become more educated.

Plus if it's for a PowerShell Cmdlet, it's a lot more likely that your target audience is familiar with the domain in question anyway. (I certainly do remember what the minuend and subtrahend are, even if I am far removed from 5th grade.)

share|improve this answer
+1. This was my immediate reaction as well. If the target audience doesn't know the word, how does not using it help with that? We learn a new word a day anyway. Might as well be minuend. –  RegDwigнt Dec 14 '12 at 11:11
I'm all for helping the people around me to learn new things. While I would normally agree, I must say that when I develop software, I tend to try to make things as simple to comprehend as possible for maintainability reasons. 6 months from now, whoever is looking at the code is probably confused enough as is. If I can avoid putting the extra strain on his/her brain, I will. The same goes for when you're in "get things done" mode and don't have time to teach someone a new word. –  Phil Dec 14 '12 at 13:29
add comment

Since this is for a program, why limit it to one word? As a replacement forsubtrahend, I would personally use something like subtractValue, or since it looks like you're referencing files, subtractFile, or maybe even subFile for short. As for a minuendreplacement, startFile, baseFile, or even base seem to be decent choices.

share|improve this answer
add comment

I'm not sure what you mean in this context. If you're talking about subtracting one file from another, do the two files each contain just a single number? I ask because if this isn't a literal subtraction of one number from another, if subtraction is just a metaphor here, you might look for a different metaphor that lends itself to more natural words.

That said, assuming that "subtraction terminology" is the right thing to use, I'd suggest a word like "base" or "start" as more likely to be familiar than "minuend"; and and "subtract" or "minus" or perhaps some word reflecting the nature of what is being subtracted, like "adjustment" or "deduction", for the subtrahend. E.g. "getdifference -base a.csv -minus b.csv".

share|improve this answer
Jay, set-theoretic difference is an operation that “subtracts a set of items from another set of items” and has nothing to do with subtracting files. Set-theoretic difference also is called relative complement, and of course is distinct from symmetric difference. –  jwpat7 Dec 13 '12 at 22:06
@jwpat7 Was the paragraph that begins "Context:" here originally or added with an edit? (If it was there, my apologies for missing it.) So the files each contain a set of some kind, and he's performing set operations. That naturally brings to mind whether there are accepted terms for the sets involved. I don't know any such terms but always tend to use baby names like "the big set" and "the other set". :-) P.S. This clearly DOES have something to do with "subtracting files", as the whole point here was to assign names to the parameters that identify the files. "a.csv" is surely a file name. –  Jay Dec 13 '12 at 22:29
Jay, the "Context:" paragraph was in the original question at 20:27; the stuff re files was added to question at 21:05, and I was unaware of it since I didn't scroll up from answers. To see edit history for a question, click the red time that appears next to the word edited –  jwpat7 Dec 13 '12 at 22:54
add comment

I would name them one and two or even A and B, as in the Math SE question you linked to, and show the operation in the comments of the code.

I have heard of those terms before. They're abstruse enough to be useless.

If you give a code snippet, we can work out an example.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.