There is an ongoing debate about plurals in the database community – like in this StackOverflow question: Table Naming Dilemma – Singular vs Plural
But I’m here to tell you that everything good said about plurals is wrong. This is an aside, but it may feed into the debate.Plurals never, in any realistic sentence, provide any additional information.
If you were to eliminate plurals from all of your sentences, no information would be lost – although the sentence may sound daft. But it would only sound daft through lack of familiarity – not because of any meaning lost.
Take this example:
I own 3 cat. I only have 5 dollar.
Exactly what information does the s add when we fix it?
I own 3 cats. I only have 5 dollars.
Nothing. You already know there’s more than one cat, because the number is specified. The plural is redundant.
I own many cats. I saw lots of elephants.
As long as there is a word describing the plurality already, such as many, lots – you don’t need an s to knock you over the head with it. We already know there’s more-than-one (or not) before we read the s.
Those women were talking about you.
Those girl were talking about you.
The second sounds awkward, but if it were spoken by a non-native speaker, it would be easy to understand. Why is that?
Notice I didn’t use the word woman here (for the singular of women). This would make it so awkward as to be almost incomprehensible. But that is because plurals are not only useless, but also hideously inconsistent. If it were just a matter of adding s, they would just be harmlessly useless.
The only sentence I can think of that comes close to having a plural add information is this:
I went to the park today and saw squirrels.
But that sentence is not realistic.
Realistically, it would quantify how many squirrels were seen. Some; heaps; a few; 3 big ones. And as soon as that happens, the s in squirrels immediately becomes…
Did you ever wonder why other languages, such as Japanese, don’t use plurals?
In the squirrel example, it is also obvious through context, that plurality is implied or trivial enough to be irrelevant. Take the s away, and you’ve not lost any meaning.
To see some of the many exceptions for plurals: Fun With Plurals
Some plurals are the same as the singular (eg fish, moose). And some plurals have no singular (eg scissors, cattle). These plurals cannot possibly provide any information – or by confusing the plural, they even detract from any attempt to create meaning. Plurals are a language oddity.
If you know of a useful sentence where the plural adds information that wouldn’t otherwise be known. Let’s have it.
What about the developer singular vs plural debate?
ActiveRecord use plurality to make your code read like an English sentence. Maybe the number of exceptions is low enough to get away with this. But since many plural exceptions are animals (geese, cattle, fish, moose, deer, sheep) – my plans for a web app game featuring a moose that can fish, and 3 sheep that trade with local deer – is looking like a lot of work.
Some plurals are also up for debate and this Ruby on Rails bug report on the plural of penis has been closed wontfix. It’s labelled as an enhancement, probably just to make it a penis enhancement, with a comment: “You guys should probably investigate a plugin to handle this“
All this suggests to me that in the programming world of precision, an unreliable language-oddity like English plurals should not be relied on to convey any meaning – if possible.