In several fields, deprecation is the discouragement of use of some feature, design or practice; typically because it has been superseded or is no longer considered efficient, or safe – but without completely removing it or prohibiting its use.
Contents
Etymology
In general English usage, the infinitive "to deprecate" means "to express disapproval of (something)". It derives from the Latin verb deprecare, meaning "to ward off (a disaster) by prayer". In current usage, for one to state that a feature is deprecated is merely a recommendation against using it. It is still possible to produce a program or product without heeding the deprecation.
Software deprecation
While a deprecated software feature remains in the software, its use may raise warning messages recommending alternative practices; deprecated status may also indicate the feature will be removed in the future. Features are deprecated rather than immediately removed, to provide backward compatibility and give programmers time to bring affected code into compliance with the new standard.
Among the most common reasons for deprecation are:
smbfs
and cifs
. The latter provides better security, supports more protocol features, and integrates better with the rest of the kernel. Since the inclusion of cifs
, smbfs
has been deprecated.gets()
is an example, because using this function can introduce a buffer overflow into the program that uses it. The Java API methods Thread.stop
, .suspend
and .resume
are further examples.FONT
element to allow page designers to specify the font in which text should be displayed. With the release of Cascading Style Sheets and HTML 4.0, the FONT
element became extraneous, and detracted from the benefits of noting structural markup in HTML and graphical formatting in CSS. Thus, the FONT
element was deprecated in the Transitional HTML 4.0 standard, and eliminated in the Strict variant.Other usage
An example in hardware design is omission of pull-up resistors on unused inputs to a logic gate. This practice may have been acceptable in the past, but becomes deprecated because faster clock speeds are likely to induce more transient noise on input lines, causing hardware glitches or malfunctions.
A building code example is the use of ungrounded ("2-prong") electrical receptacles. Over time, these older devices were deprecated in favor of the safer grounded ("3-prong") receptacles. The obsolete ungrounded receptacles were still permitted by "grandfathering" in existing electrical wiring, but became prohibited from new installations. Ungrounded receptacles are still available for legal purchase, but are intended solely for repairs to existing older electrical installations.
In writing and editing, usage of a word may be deprecated because it is ambiguous, confusing, or offensive to some readers. For example, the words sanction and inflammable may be misinterpreted because they have auto-antonymic or self-contradictory meanings; writing style guides often recommend substituting other words that are clearly understood and unambiguous. Some word usages that have acquired different connotations over time, such as gay or colored, may be deprecated as obsolete in formal writing.
In technical standards, use of a certain clause may be discouraged or superseded by new clauses. As an example, in the Ethernet standard IEEE 802.3-2012, Clause 5 (Layer Management) is "deprecated" by Clause 30 (Management), except for 5.2.4.
The term deprecated may also be used when a technical term becomes obsolete, either through change or supersession. An example from paleontology is the previously deprecated term Brontosaurus; before being re-recognized as a unique genus, it was considered a popular, yet deprecated, name for the genus Apatosaurus. Some examples of deprecated terms from medicine include consumption (tuberculosis), grippe (influenza), and apoplexy (stroke).