fbpx
Wikipedia

Deprecation

In several fields, especially computing, deprecation is the discouragement of use of some terminology, feature, design, or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing it or prohibiting its use. Typically, deprecated materials are not completely removed to ensure legacy compatibility or back up practice in case new methods are not functional in an odd scenario.

It can also imply that a feature, design, or practice will be removed or discontinued entirely in the future.[1]

Etymology edit

In general English usage, the infinitive "to deprecate" means "to express disapproval of (something)". It derives from the Latin verb deprecari, meaning "to ward off (a disaster) by prayer".

An early documented usage of "deprecate" in this sense is in Usenet posts in 1984, referring to obsolete features in 4.2BSD and the C programming language.[2] An expanded definition of "deprecate" was cited in the Jargon File in its 1991 revision,[3] and similar definitions are found in commercial software documentation from 2014[1] and 2023.[4]

Software edit

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 to give programmers time to bring affected code into compliance with the new standard.

Among the most common reasons for deprecation 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.[5]
  • The feature contains a design flaw, frequently a security flaw, and so should be avoided, but existing code depends upon it. The simple C standard function gets() is an example, because using this function can introduce a buffer overflow into the program that uses it.[6] The Java API methods Thread.stop, .suspend and .resume are further examples.[7]
  • 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.[8]
  • A future version of the software will make major structural changes, making 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: the Carbon library (which has since been deprecated itself), 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 supported in Carbon. Other Mac OS 9 functions were deprecated, and were never supported natively in Mac OS X.[9]
  • 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 might result from 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 available only independently is now combined with its co-feature. An example is VLC Media Player; VLC used to stand for "VideoLan Client", and a separate "VideoLan Server" was available as its co-feature. Both the client and server became available in the same package and so getting one independently would be impractical.[10]

Other usage edit

A building code example is the use of ungrounded ("2-prong") electrical receptacles. Over time, these older devices were widely deprecated in favor of safer grounded ("3-prong") receptacles. The older, ungrounded receptacles were still permitted in many places by "grandfathering" them in existing electrical wiring, while prohibiting them for new installations. Thus, though ungrounded receptacles may still be available for legal purchase in a location where they are obsolete, they would generally be intended only 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.

Deprecation may also occur 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,[11] it was considered a popular, yet deprecated, name for the genus Apatosaurus.[12] Some examples of deprecated terms from medicine include consumption (tuberculosis), grippe (influenza), and apoplexy (stroke). In chemical nomenclature, the international standards organization IUPAC (International Union of Pure and Applied Chemistry) has deprecated the term "methyl ethyl ketone", and now recommends using the term "ethyl methyl ketone" instead.[13]

See also edit

References edit

  1. ^ a b "JEP 277: Enhanced Deprecation". openjdk.java.net. from the original on 19 September 2018. Retrieved 9 February 2018.
  2. ^ Shea, Ammon. "A New Meaning of 'Deprecate'". Words We're Watching. Merriam-Webster. Retrieved 1 March 2023.
  3. ^ Raymond, Eric S.; Steele, Guy L., eds. (July 1992). The Jargon File, Version 2.9.10. Retrieved 1 March 2023 – via Project Gutenberg.
  4. ^ Stewart, Meghan (27 February 2023). "Windows client features lifecycle". What's new in Windows. Microsoft. Retrieved 1 March 2023.
  5. ^ "On the future of smbfs". LWN.net. 15 May 2006. Retrieved 1 March 2023.
  6. ^ GNU. "Line Input". The GNU C Library. GNU. from the original on 26 January 2021. Retrieved 2 August 2008. 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.
  7. ^ "Java Thread Primitive Deprecation". Oracle. from the original on 15 October 2011. Retrieved 13 May 2011.
  8. ^ Musciano, Chuck; Kennedy, Bill (2007). "HTML's Obsolete Expanded Font Handling". HTML & XHTML : the definitive guide (6th ed.). Beijing: O'Reilly. ISBN 978-0-596-52732-7. OCLC 77574682.
  9. ^ Simenel, Éric (2000). "Carbonization 101". MacTech. Vol. 16, no. 12. Retrieved 1 March 2023.
  10. ^ "The cross-platform streaming solution". VideoLAN. Retrieved 1 March 2023.
  11. ^ "Brontosaurus Finally Validated as a Distinct Dinosaur". ABC News. from the original on 9 April 2020. Retrieved 27 June 2020.
  12. ^ Upchurch, Paul; Barrett, Paul M.; Dodson, Peter (2004). "Sauropoda". In Weishampel, David B.; Dodson, Peter; Osmólska, Halszka (eds.). The Dinosauria (2nd ed.). Berkeley: University of California Press. pp. 259–322. ISBN 0-520-24209-2.
  13. ^ Nomenclature of Organic Chemistry : IUPAC Recommendations and Preferred Names 2013 (Blue Book). Cambridge: The Royal Society of Chemistry. 2014. p. 725. doi:10.1039/9781849733069-FP001. ISBN 978-0-85404-182-4.

External links edit

  • How and When To Deprecate APIs from the JDK 5.0 Documentation
  • Detect deprecated functions A tool that discovers deprecated functions in any Windows native application or library.

deprecation, confused, with, depreciation, several, fields, especially, computing, deprecation, discouragement, some, terminology, feature, design, practice, typically, because, been, superseded, longer, considered, efficient, safe, without, completely, removi. Not to be confused with Depreciation In several fields especially computing deprecation is the discouragement of use of some terminology feature design or practice typically because it has been superseded or is no longer considered efficient or safe without completely removing it or prohibiting its use Typically deprecated materials are not completely removed to ensure legacy compatibility or back up practice in case new methods are not functional in an odd scenario It can also imply that a feature design or practice will be removed or discontinued entirely in the future 1 Contents 1 Etymology 2 Software 3 Other usage 4 See also 5 References 6 External linksEtymology editIn general English usage the infinitive to deprecate means to express disapproval of something It derives from the Latin verb deprecari meaning to ward off a disaster by prayer An early documented usage of deprecate in this sense is in Usenet posts in 1984 referring to obsolete features in 4 2BSD and the C programming language 2 An expanded definition of deprecate was cited in the Jargon File in its 1991 revision 3 and similar definitions are found in commercial software documentation from 2014 1 and 2023 4 Software editWhile 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 to give programmers time to bring affected code into compliance with the new standard Among the most common reasons for deprecation 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 5 The feature contains a design flaw frequently a security flaw and so should be avoided but existing code depends upon it The simple C standard function a href Gets html class mw redirect title Gets gets a is an example because using this function can introduce a buffer overflow into the program that uses it 6 The Java API methods Thread stop suspend and resume are further examples 7 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 8 A future version of the software will make major structural changes making 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 the Carbon library which has since been deprecated itself 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 supported in Carbon Other Mac OS 9 functions were deprecated and were never supported natively in Mac OS X 9 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 might result from 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 available only independently is now combined with its co feature An example is VLC Media Player VLC used to stand for VideoLan Client and a separate VideoLan Server was available as its co feature Both the client and server became available in the same package and so getting one independently would be impractical 10 Other usage editA building code example is the use of ungrounded 2 prong electrical receptacles Over time these older devices were widely deprecated in favor of safer grounded 3 prong receptacles The older ungrounded receptacles were still permitted in many places by grandfathering them in existing electrical wiring while prohibiting them for new installations Thus though ungrounded receptacles may still be available for legal purchase in a location where they are obsolete they would generally be intended only 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 Deprecation may also occur 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 11 it was considered a popular yet deprecated name for the genus Apatosaurus 12 Some examples of deprecated terms from medicine include consumption tuberculosis grippe influenza and apoplexy stroke In chemical nomenclature the international standards organization IUPAC International Union of Pure and Applied Chemistry has deprecated the term methyl ethyl ketone and now recommends using the term ethyl methyl ketone instead 13 See also editAbandonware Grandfather clause List of deprecated terms for diseases Obsolescence Orphaned technologyReferences edit a b JEP 277 Enhanced Deprecation openjdk java net Archived from the original on 19 September 2018 Retrieved 9 February 2018 Shea Ammon A New Meaning of Deprecate Words We re Watching Merriam Webster Retrieved 1 March 2023 Raymond Eric S Steele Guy L eds July 1992 The Jargon File Version 2 9 10 Retrieved 1 March 2023 via Project Gutenberg Stewart Meghan 27 February 2023 Windows client features lifecycle What s new in Windows Microsoft Retrieved 1 March 2023 On the future of smbfs LWN net 15 May 2006 Retrieved 1 March 2023 GNU Line Input The GNU C Library GNU Archived from the original on 26 January 2021 Retrieved 2 August 2008 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 Java Thread Primitive Deprecation Oracle Archived from the original on 15 October 2011 Retrieved 13 May 2011 Musciano Chuck Kennedy Bill 2007 HTML s Obsolete Expanded Font Handling HTML amp XHTML the definitive guide 6th ed Beijing O Reilly ISBN 978 0 596 52732 7 OCLC 77574682 Simenel Eric 2000 Carbonization 101 MacTech Vol 16 no 12 Retrieved 1 March 2023 The cross platform streaming solution VideoLAN Retrieved 1 March 2023 Brontosaurus Finally Validated as a Distinct Dinosaur ABC News Archived from the original on 9 April 2020 Retrieved 27 June 2020 Upchurch Paul Barrett Paul M Dodson Peter 2004 Sauropoda In Weishampel David B Dodson Peter Osmolska Halszka eds The Dinosauria 2nd ed Berkeley University of California Press pp 259 322 ISBN 0 520 24209 2 Nomenclature of Organic Chemistry IUPAC Recommendations and Preferred Names 2013 Blue Book Cambridge The Royal Society of Chemistry 2014 p 725 doi 10 1039 9781849733069 FP001 ISBN 978 0 85404 182 4 External links edit nbsp Look up deprecate in Wiktionary the free dictionary nbsp Look up deprecation in Wiktionary the free dictionary How and When To Deprecate APIs from the JDK 5 0 Documentation Detect deprecated functions A tool that discovers deprecated functions in any Windows native application or library Retrieved from https en wikipedia org w index php title Deprecation amp oldid 1211653647, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.