Deprecation

In computer software standards and documentation, deprecation is the gradual phasing-out of a software or programming language feature.

A feature or method marked as deprecated is one which is considered obsolete, and whose use is discouraged. The feature still works in the current version of the software, although it may raise error messages as warnings. These serve to alert the user to the fact that the feature may be removed in future releases.

Features get marked as deprecated, rather than simply removed, in order to provide backward compatibility for software users. When other programs depend on the deprecated feature, programmers need time to change their code to avoid the feature.

Programmers or standards-makers may choose to deprecate a feature for any number of reasons. Some common cases are:

Etymology

In mainstream English, the verb "to deprecate" means, simply, "to disapprove of (something)". It derives from the Latin verb deprecari, meaning "to ward off (a disaster) by prayer." Thus, for a standards document to state that a feature is deprecated is a recommendation against using it. Alternately, (and somewhat more dramatically), the writer implores users against using an old, bad feature so that it can be removed.

It is sometimes confused with the word "depreciate". (Using deprecated programming language features may, nonetheless, cause the value of a program to depreciate: eventually, the features will be removed, and the program will no longer run.)

See also: Deprecation, API, Apple Computer, Backward compatibility, Buffer overflow, C programming language, Carbon (computing), Cascading Style Sheets, Compiler, Computer programming language