Deprecation

From Wikipedia, the free encyclopedia - View original article

 
Jump to: navigation, search
Not to be confused with Depreciation.

Deprecation is an attribute applied to a computer software feature, characteristic, or practice to indicate that it should be avoided (often because it is being superseded). Beyond describing software, the term is also used for a feature, design, or practice that is permitted but no longer recommended in other areas, such as word usage, hardware design, or compliance to building codes.

Etymology[edit]

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. It is still possible to produce a program or product without heeding the deprecation; but to the extent that conformance with latest standards is a requirement of the buyer (that is, a condition of payment), it may not be acceptable in that it may fail to conform.

Software deprecation[edit]

While a deprecated software feature remains in the software, its use may raise warning messages recommending alternative practices; deprecated status may also indicate that 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:

Non-software usage[edit]

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.

The term deprecated may also be used when a non-computer technical term becomes obsolete, either through change or superseding. An example in paleontology is the deprecated term Brontosaurus, the formerly popular name for the genus Apatosaurus.[3] Examples from medicine include consumption (tuberculosis), grippe (influenza), and apoplexy (stroke).

See also[edit]

References[edit]

  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.; 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[edit]