Why is there confusion between depreciated and deprecated?

The main difference is that deprecate is largely archaic, apart from its very modern computing sense. The original meaning (derived from Latin de=away, and prevari=pray) meant to ward something off (by prayer, for example). It can also be used to mean to express disapproval of; deplore; belittle, but IMHO this is also dated/poetic usage outside computing. I also suspect it's used as something of a euphemism for denigrate, which to some people is uncomfortably close to the n-word.


Deprecated is normally used today for some feature of a computer language which is still supported, but no longer recommended. It may not be supported at some time in the future, because it doesn't fit well with the way the language is being developed.

There's no substantive difference in meaning between deprecated and obsolete for that "no longer recommended" computer sense. But obsolete is used in far more contexts than deprecated, and can sometimes imply "no longer capable of being used", rather than just "not recommended".


Depreciated, on the other hand, derives from Latin pretium=price. It's used of things which have reduced in value over time.


TL;DR: People either confuse the words because they don't know what they mean, or because they don't notice the extra letter "i" in one of them.


The dictionary gives "belittle" as a synonym for both words. As FumbleFingers points out, "deprecate" means to "pray away" and "depreciate" means to "price away", so they aren't that far apart.