In the process of authoring computer software, its standards or documentation, deprecation is a status applied to software features to indicate that they should be avoided, typically because they have been superseded. Although deprecated features remain in the software, their use may raise warning messages recommending alternative practices, and deprecation may indicate that the feature will be removed in the future. Features are deprecated—rather than immediately removed—in order to provide backward compatibility, and give programmers who have used the feature time to bring their code into compliance with the new standard.


Reasons for deprecation

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

  • The feature has been replaced by a more powerful, alternative feature. For instance, the Linux kernel contains two modules to communicate with Windows networks — 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.
  • The feature contains a design flaw—frequently a security flaw—and so should be avoided, but existing code depends upon it. The C standard function gets() is an example of this, because using this function can introduce a buffer overflow into the program that uses it.[1] The Java API methods Thread.stop, .suspend and .resume are further examples.[2]
  • The feature is considered extraneous, and will be removed in the future in order to simplify the system as a whole. Early versions of the Web markup language HTML included a 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.
  • A future version of the software is planned to make major structural changes, which make it impossible (or impractical) to support older features. For instance, when Apple Inc. planned the transition from Mac OS 9 to Mac OS X, it created a subset of the older system's API which would support most programs with minor changes. This became the Carbon library, available in both Mac OS 9 and Mac OS X. Programmers who were, at the time, chiefly using Mac OS 9, could ensure that their programs would run natively on Mac OS X by using only the API functions in Carbon. Other Mac OS 9 functions were deprecated, and were never supported natively in Mac OS X.
  • Standardization or increased consistency in naming. Projects that are developed over long periods of time, or by multiple individuals or groups, can contain inconsistencies in the naming of various items. These can be the result of a lack of foresight, changes in nomenclature over time, or personal, regional or educational differences in terminology. Since merely renaming an item would break backwards compatibility, the existing name must be left in place. The original name will likely remain indefinitely, but will be deprecated to encourage use of the newer, more consistent naming convention. An example would be an API that alternately used the spelling "color" and "colour". Standardization would result in the use of only one of the regional spellings throughout, and all occurrences of the other spelling would be deprecated.
  • A feature that once was only available independently is now combined with its co-feature. An example being VLC Media Player, VLC used to stand for 'VideoLan Client' and a 'VideoLan Server' was available as its co-feature. Both the client and server became available in the same package, and as such, getting one independently would be impractical.


In mainstream English, the infinitive "to deprecate" means, simply, "to strongly disapprove of (something)". It derives from the Latin verb deprecare, meaning "to ward off (a disaster) by prayer". Thus, for a standard document to state that a feature is deprecated is merely a recommendation against using it.

Other usage

A particular term or expression may be deprecated when the term becomes obsolete, essentially superfluous and either has no meaning or serves no purpose and becomes essentially empty verbiage.

For example, in copyright, it was common to comply with the terms of the Buenos Aires Convention treaty by including a statement of rights such as all rights reserved, however, once every country that was a signatory to the Buenos Aires Convention also became a signatory to the Berne Convention treaty (because Berne does not require any form of notice), the use of the term "all rights reserved" has been essentially deprecated, as it no longer serves any purpose and grants no additional right or protection not already available if the statement were never used. In this instance, deprecated is a better term to describe the condition than obsolete.

An example in paleontology would be Brontosaurus, a synonym of the genus Apatosaurus.[3]

See also


  1. ^ GNU. "Line Input". The GNU C Library. GNU. Retrieved 2008-08-02. "Deprecated function: char * gets (char *s). ... The gets function is very dangerous because it provides no protection against overflowing the string s. The GNU library includes it for compatibility only. You should always use fgets or getline instead." 
  2. ^ "Java Thread Primitive Deprecation". Oracle. Retrieved 13 May 2011. 
  3. ^ Upchurch, Paul; Barrett, Paul M., and Dodson, Peter. (2004). "Sauropoda". In Weishampel, David B.; Dodson, Peter; and Osmólska, Halszka. (eds.). The Dinosauria (2nd ed.). Berkeley: University of California Press. pp. 259–322. ISBN 0-520-24209-2. 

External links

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • déprécation — [ deprekasjɔ̃ ] n. f. • 1120; lat. deprecatio ♦ Relig. Prière faite avec soumission, pour détourner un malheur, pour obtenir le pardon d une faute. ● déprécation nom féminin (latin deprecatio) Prière instante adressée à une divinité, à une… …   Encyclopédie Universelle

  • Deprecation — (из английского языка) в программировании, некоторое указание нежелательности применения какой либо части программы, процедуры или языка программирования. Чаще всего используется какой либо стандартный для данного языка программирования или… …   Википедия

  • Deprecation — Dep re*ca tion (d[e^]p r[ e]*k[=a] sh[u^]n), n. [L. deprecatio; cf. F. d[ e]pr[ e]cation.] 1. The act of deprecating; a praying against evil; prayer that an evil may be removed or prevented. [archaic] [1913 Webster] Humble deprecation. Milton.… …   The Collaborative International Dictionary of English

  • deprecation — c.1500, prayer to avert evil, from M.Fr. deprécation, from L. deprecationem (nom. deprecatio), from pp. stem of deprecari plead in excuse, avert by prayer, lit. to pray (something) away, from de away (see DE (Cf. de )) + precari pray (see P …   Etymology dictionary

  • Deprecatĭon — (v. lat. Deprecatio), 1) Abbitte; 2) Fürbitte; 3) (Rhet.), Figur, wenn der Redner, statt mit Gründen zu wirken, sich bittweise an die Richter od. anderen Zuhörer wendet; 4) (Dogm., D. Christi), die hohepriesterliche Fürbitte Christi, s.d …   Pierer's Universal-Lexikon

  • Deprecation — Deprecation, lat., Abbitte; depreciren, abbitten …   Herders Conversations-Lexikon

  • deprecation — index admonition, bad repute, condemnation (blame), contempt (disdain), contempt (disobedience to the court), criticism …   Law dictionary

  • déprécation — DÉPRÉCATION. s. f. Figure oratoire, par laquelle on souhaite du bien ou du mal à quelqu un. Il signifie aussi Une prière faite avec soumission pour obtenir le pardon d une faute …   Dictionnaire de l'Académie Française 1798

  • Deprecation — (Roget s Thesaurus) >Negative request. < N PARAG:Deprecation >N GRP: N 1 Sgm: N 1 deprecation deprecation expostulation Sgm: N 1 intercession intercession mediation protest remonstrance PARAG:Deprecation >V GRP: V 1 Sgm: V …   English dictionary for students

  • déprécation — (dé pré ka sion) s. f. 1°   Prière faite avec soumission pour obtenir le pardon d une faute. 2°   Terme de rhétorique. Figure par laquelle on s interrompt au milieu d un discours pour demander aux dieux d écarter un malheur ou un danger. Par… …   Dictionnaire de la Langue Française d'Émile Littré