Deprecationis the discouragement of use of something human-made, such as aterm,feature,design,or practice. Typically something is deprecated because it is claimed to be inferior compared to other options available.

Something may be deprecated when it cannot be controlled,[clarification needed]such as a term. Even when it can be controlled, something may be deprecated even when it might be useful – for example, to ensure compatibility – and it may be removed or discontinued at some time after being deprecated.[1]

Etymology

edit

In general English usage, the verb "todeprecate"means" to express disapproval of (something) ". It derives from theLatindeponent verbdeprecari,meaning "to ward off (adisaster) by prayer ".

An early documented usage of "deprecate" in this sense is inUsenetposts in 1984, referring to obsolete features in4.2BSDand theCprogramming language.[2]An expanded definition of "deprecate" was cited in theJargon Filein 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.

Notable reasons for deprecation include:

Reason Example(s)
The feature has been replaced by a more powerful alternative feature. TheLinux kernelcontains two modules to communicate withWindowsnetworks:smbfsandcifs.The latter provides better security, supports more protocol features, and integrates better with the rest of the kernel. Since the inclusion ofcifs,smbfshas 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 feature is considered extraneous and will be removed in a planned future version. Early versions of theWebmarkup languageHTMLincluded aFONTelement to allow page designers to specify thefontin which text should be displayed. With the release ofCascading Style Sheetsand HTML 4.0, theFONTelement became extraneous, and detracted from the benefits of noting structural markup in HTML and graphical formatting in CSS. Thus, theFONTelement was deprecated in theTransitionalHTML 4.0 standard, and eliminated in theStrictvariant.[8]
A planned future version of the software will make major structural changes, making it impossible or impractical to support older features. WhenApple Inc.planned the transition fromMac OS 9toMac OS X,it created asubsetof the older system'sAPIwhich would support most programs with minor changes: theCarbonlibrary (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]
Naming consistency. AnAPImay inconsistently mix spellings such as "color" and "colour" as a result of different developers using different spellings. To enforce consistency, all identifiers using one spelling would be duplicated for[clarification needed]the other spelling and identifiers using the unfavored spelling deprecated.
A feature that once was available independently is combined with its co-feature. InVLC 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

Abuilding codeexample is the use ofungrounded ( "2-prong" ) electrical receptacles(UK English: "unearthed" ). 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 existingelectrical 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 andediting,usage of a word may be deprecated because it is ambiguous, confusing, or offensive to some readers. For example, the wordssanctionandinflammablemay be misinterpreted because they haveauto-antonymicor 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 asgayorcolored,may be deprecated as obsolete in formal writing.

Intechnical standards,use of a certain clause may be discouraged or superseded by new clauses. As an example, in theEthernetstandardIEEE802.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 becomesobsolete,either through change or supersession.[clarification needed]An example frompaleontologyis the previously deprecated termBrontosaurus:before being recognized once again as a unique genus,[11]it was considered a popular, yet deprecated, name for the genusApatosaurus.[12]Some deprecated terms in medicine areconsumption(tuberculosis),grippe(influenza), andapoplexy(stroke). Inchemical nomenclature,the international standards organizationIUPAC(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. ^ab"JEP 277: Enhanced Deprecation".openjdk.java.net.Archivedfrom the original on 19 September 2018.Retrieved9 February2018.
  2. ^Shea, Ammon."A New Meaning of 'Deprecate'".Words We're Watching.Merriam-Webster.Retrieved1 March2023.
  3. ^Raymond, Eric S.;Steele, Guy L.,eds. (July 1992).The Jargon File, Version 2.9.10.Retrieved1 March2023– viaProject Gutenberg.
  4. ^Stewart, Meghan (27 February 2023)."Windows client features lifecycle".What's new in Windows.Microsoft.Retrieved1 March2023.
  5. ^"On the future of smbfs".LWN.net.15 May 2006.Retrieved1 March2023.
  6. ^GNU."Line Input".The GNU C Library.GNU.Archivedfrom the original on 26 January 2021.Retrieved2 August2008.Deprecated function: char * gets (char *s).... Thegetsfunction isvery dangerousbecause it provides no protection against overflowing the strings.The GNU library includes it for compatibility only. You shouldalwaysusefgetsorgetlineinstead.
  7. ^"Java Thread Primitive Deprecation".Oracle.Archivedfrom the original on 15 October 2011.Retrieved13 May2011.
  8. ^Musciano, Chuck; Kennedy, Bill (2007)."HTML's Obsolete Expanded Font Handling".HTML & XHTML: the definitive guide(6th ed.). Beijing: O'Reilly.ISBN978-0-596-52732-7.OCLC77574682.
  9. ^Simenel, Éric (2000)."Carbonization 101".MacTech.Vol. 16, no. 12.Retrieved1 March2023.
  10. ^"The cross-platform streaming solution".VideoLAN.Retrieved1 March2023.
  11. ^"Brontosaurus Finally Validated as a Distinct Dinosaur".ABC News.Archivedfrom the original on 9 April 2020.Retrieved27 June2020.
  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.ISBN0-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.ISBN978-0-85404-182-4.
edit