6

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.

Edit:

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.

9
  • 3
    Phil, do you think it might come across as condescending to shame the developer who's taking the time to read your code?
    – rajah9
    Commented Dec 13, 2012 at 21:22
  • 2
    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
    Commented Dec 13, 2012 at 21:30
  • 3
    +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
    Commented Dec 13, 2012 at 21:36
  • 2
    @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
    Commented Dec 13, 2012 at 21:47
  • 2
    Yes, these come from Latin, and were used for these concepts even before English was commonly used in arithmetic. These are Latin future participles ... minuend = that which is to be diminished; subtrahend = that which is to be subtracted. Such participles were used elsewhere in arithmetic, too... dividend = that which is to be divided; addend = that which is to be added.
    – GEdgar
    Commented Dec 14, 2012 at 1:50

7 Answers 7

4

How about:

Base - Diminisher = Difference

10

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.)

2
  • +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
    Commented Dec 14, 2012 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
    Commented Dec 14, 2012 at 13:29
3

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)

2

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.

1

Re: Alternative to “minuend” and “subtrahend”

For A + B = C A = AugEnd or NumStart B = AddEnd or NumAdd C = Total or Sum or NumEnd

For A – B = C A = MinuEnd or NumStart B = SubtrahEnd or SubEnd or NumSub C = Total or Difference or NumEnd

0

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.

-1

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".

3
  • 1
    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. Commented Dec 13, 2012 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
    Commented Dec 13, 2012 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 Commented Dec 13, 2012 at 22:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .