Why is 'sheep' the same when talking about one or more than one?

Solution 1:

As the Oxford English Dictionary explains, 'The prehistoric plural *skǣpu normally lost its final vowel in Old English, so that nominative and accusative singular and plural became identical.'

Solution 2:

It is true that "sheep" comes from an Old English word that is the same in the (nominative and accusative) plural as it is in the (nominative and accusative) singular.

But this isn't the reason why "sheep" is the plural form in modern English - or if it is, it's only a small part of the explanation.

Some Old English neuters have (nom & acc) plurals identical to their (nom & acc) singulars, others don't. For example, the OE word for "ship" is "scip" in the singular, "scipu" in the plural - whereas the word for "sheep" is "sceap" in both singular and plural. As has been pointed out, "sceap" would originally have had a plural "sceapu", but this had been almost entirely lost in OE.

However, to that I have to say "so what?" - because "house", "land", "thing", and "tree" are all words which were identical in their OE (nom & acc) singular to their OE (nom & acc) plurals - respectively, "hus", "land", "þing", and "treow".

(And it's not as though the plural suffix of the word "ships" bears any resemblance to the "-u" of "scipu", either, does it?)

So, an invariant plural in OE rarely leads to an invariant plural in modern English. (And yes, "hus", "land", "þing", "treow" are all neuter, too, just as "sceap" is.)

One other thing that "sheep" and "deer" have in common, apart from being OE neuters with invariant plurals, though, is that both terms describe animals, and there's a certain tendency to have invariant plurals for certain animals, especially those normally found in herds. Of course, there are many other animals to which this doesn't apply.

We could note that "elk" is very often used as the plural of "elk" (although a regular plural "elks" exists), despite the fact "elk" was an OE masculine with a regular plural ending "-s". "Antelope" is often (not always) used as a plural, and didn't exist in OE at all. "Buffalo" is often (not always) used as a plural, and didn't exist in OE, and has a regular plural in Spanish and Portuguese. Mari-Lou A points out that "fish" has long been used as a plural of itself: this usage was first attested c.1400; before then, and in OE, "fish" had had a regular plural (OE "fiscas") ("fishes" today is mainly used to denote multiple types of fish, at least in standard English).

Overall, then, the OE etymology is only a small part of the explanation.