The Difference Between Deprecated, Depreciated and Obsolete

Mark Otaris picture Mark Otaris · Feb 9, 2012 · Viewed 54.5k times · Source

There is a lot of confusion about this and I'd like to know, what exactly is the difference between depreciated, deprecated and obsolete, in a programming context, but also in general.

I know I could just look at an online dictionary, and I have, even at many, but they don't all agree, or there are differences in what they say. So I decided to just ask here, considering I also want an answer in a programming context.

If I understand right, deprecated means it shouldn't be used anymore, because it has been replaced by a better alternative, or just because it has been abandoned. Obsolete means it doesn't work anymore, was removed, or doesn't work as it should anymore. And depreciated, if I understand right, once more, has completely nothing to do with programming and just means something has a lowered value, or was made worse.

Am I right, or am I wrong, and if I am wrong, what exactly do each of these mean?

Answer

Elzo Valugi picture Elzo Valugi · Feb 9, 2012

You are correct.

Deprecated means that it is still in use, but only for historical purposes and it will be removed probably in the next big release. It is recommended that you do not use deprecated functions or features - even if they are present in the current library for example.

Obsolete means that is already out-of-use.

Depreciated means the monetary value of something has decreased over time. E.g., cars typically depreciate in value.

Also for more precise definitions of the terms in the context of the English language I recommend using https://english.stackexchange.com/.