Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Deprecation
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Discouragement of use of a technology, feature, design, or practice}} {{distinguish|Depreciation|Obsolescence}} [[File:Phabricator mother task for Education Extension deprecation February 2018.png|thumb|A Phabricator task deprecating the Education extension]] '''Deprecation'''<ref>{{Cite web |title= |url= |website=Facebook}}</ref> is the discouragement of use of something human-made, such as a [[Terminology|term]], 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,{{clarify|date=May 2024}} such as a term. Even when it can be controlled, something may be deprecated even when it might be useful {{endash}} for example, to ensure compatibility {{endash}} and it may be removed or discontinued at some time after being deprecated.<ref name=":0">{{Cite web|url=http://openjdk.java.net/jeps/277|title=JEP 277: Enhanced Deprecation|website=openjdk.java.net|access-date=2018-02-09|archive-date=19 September 2018|archive-url=https://web.archive.org/web/20180919074206/http://openjdk.java.net/jeps/277|url-status=live}}</ref> ==Etymology== In general English usage, the verb "to [[wikt:deprecate|deprecate]]" means "to express disapproval of (something)". It derives from the [[Latin]] [[deponent 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 [[History of the Berkeley Software Distribution#4.2BSD|4.2BSD]] and the [[C (programming language)|C]] [[programming language]].<ref>{{Cite web |last=Shea |first=Ammon |title=A New Meaning of 'Deprecate' |url=https://www.merriam-webster.com/words-at-play/deprecate |accessdate=2023-03-01 |website=Words We're Watching |publisher=[[Merriam-Webster]]}}</ref> An expanded definition of "deprecate" was cited in the [[Jargon File]] in its 1991 revision,<ref>{{Cite book |url=https://www.gutenberg.org/ebooks/38 |title=The Jargon File, Version 2.9.10 |date=July 1992 |editor-last=Raymond |editor-first=Eric S. |editor-link=Eric S. Raymond |editor-last2=Steele |editor-first2=Guy L. |editor-link2=Guy L. Steele Jr. |via=[[Project Gutenberg]] |accessdate=2023-03-01}}</ref> and similar definitions are found in commercial software documentation from 2014<ref name=":0" /> and 2023.<ref>{{Cite web |last=Stewart |first=Meghan |date=2023-02-27 |title=Windows client features lifecycle |url=https://learn.microsoft.com/en-us/windows/whats-new/feature-lifecycle |accessdate=2023-03-01 |work=What's new in Windows |publisher=[[Microsoft]]}}</ref> ==Software== 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: {|class=wikitable !Reason!!Example(s) |- |The feature has been replaced by a more powerful alternative feature. |The [[Linux kernel]] contains two modules to communicate with [[Microsoft Windows|Windows]] networks: <CODE>smbfs</CODE> and <CODE>cifs</CODE>. The latter provides better security, supports more protocol features, and integrates better with the rest of the kernel. Since the inclusion of <CODE>cifs</CODE>, <CODE>smbfs</CODE> has been deprecated.<ref>{{Cite web |date=2006-05-15 |title=On the future of smbfs |url=https://lwn.net/Articles/183693/ |accessdate=2023-03-01 |work=LWN.net}}</ref> |- |The feature contains a design flaw, frequently a security flaw, and so should be avoided, but existing code depends upon it. || *The standard [[C (programming language)|C]] function <CODE>[[gets()]]</CODE> can introduce a [[buffer overflow]] into the program that uses it.<ref>{{cite book | author = GNU | title = The GNU C Library | section = Line Input | section-url = https://www.gnu.org/software/libc/manual/html_node/Line-Input.html#Line-Input | publisher = GNU | url = https://www.gnu.org/software/libc/manual/html_node/ | access-date = 2008-08-02 | quote = Deprecated function: char * gets (char *s). ... The <code>gets</code> function is ''very dangerous'' because it provides no protection against overflowing the string <code>s</code>. The GNU library includes it for compatibility only. You should ''always'' use <code>fgets</code> or <code>getline</code> instead. | archive-date = 26 January 2021 | archive-url = https://web.archive.org/web/20210126185245/http://www.gnu.org/software/libc/manual/html_node/ | url-status = live }}</ref> *The [[Java API]] methods <code>Thread.stop</code>, <code>.suspend</code> and <code>.resume</code>.<ref>{{cite web | url = http://download.oracle.com/javase/7/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html | title = Java Thread Primitive Deprecation | publisher = Oracle | access-date = 13 May 2011 | archive-date = 15 October 2011 | archive-url = https://web.archive.org/web/20111015170714/http://download.oracle.com/javase/7/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html | url-status = live }}</ref> |- |The feature is considered extraneous and will be removed in a planned future version. |Early versions of the [[World Wide Web|Web]] [[markup language]] [[HTML]] included a <CODE>FONT</CODE> 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 <code>FONT</code> element became extraneous, and detracted from the benefits of noting structural markup in HTML and graphical formatting in CSS. Thus, the <CODE>FONT</CODE> element was deprecated in the ''Transitional'' HTML 4.0 standard, and eliminated in the ''Strict'' variant.<ref>{{Cite book |last1=Musciano |first1=Chuck |url=https://www.worldcat.org/oclc/77574682 |title=HTML & XHTML : the definitive guide |last2=Kennedy |first2=Bill |date=2007 |publisher=O'Reilly |isbn=978-0-596-52732-7 |edition=6th |location=Beijing |chapter=HTML’s Obsolete Expanded Font Handling |oclc=77574682 |chapter-url=https://www.oreilly.com/library/view/html-xhtml/0596527322/ch04s10.html}}</ref> |- |A planned future version of the software will make major structural changes, making it impossible or impractical to support older features. |When [[Apple Inc.]] planned the transition from [[Mac OS 9]] to [[Mac OS X]], it created a [[subset]] of the older system's [[application programming interface|API]] which would support most programs with minor changes: the [[Carbon (API)|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.<ref>{{Cite news |last=Simenel |first=Éric |date=2000 |title=Carbonization 101 |volume=16 |work=MacTech |issue=12 |url=http://preserve.mactech.com/articles/mactech/Vol.16/16.12/Carbonization101/index.html |accessdate=2023-03-01}}</ref> |- |Naming consistency. |An [[application programming interface|API]] may 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{{clarify|date=May 2024}} the other spelling and identifiers using the unfavored spelling deprecated. |- |A feature that once was available independently is combined with its co-feature.|| In [[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.<ref>{{Cite web |title=The cross-platform streaming solution |url=https://www.videolan.org/vlc/streaming.html |accessdate=2023-03-01 |work=VideoLAN}}</ref> |} ==Other usage== A [[building code]] example is the use of [[AC power plugs and sockets#Earthing (grounding)|ungrounded ("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 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-antonym]]ic 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 standard]]s, use of a certain clause may be discouraged or superseded by new clauses. As an example, in the [[Ethernet]] standard [[Institute of Electrical and Electronics Engineers|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 [[Obsolescence|obsolete]], either through change or supersession.{{clarify|date=May 2024}} An example from [[paleontology]] is the previously deprecated term ''[[Brontosaurus]]'': before being recognized once again as a unique genus,<ref>{{Cite web |url=https://abcnews.go.com/Technology/brontosaurus-finally-validated-distinct-dinosaur-species/story?id=30134546 |title=Brontosaurus Finally Validated as a Distinct Dinosaur |website=[[ABC News (United States)|ABC News]] |access-date=27 June 2020 |archive-date=9 April 2020 |archive-url=https://web.archive.org/web/20200409073314/https://abcnews.go.com/Technology/brontosaurus-finally-validated-distinct-dinosaur-species/story?id=30134546 |url-status=live }}</ref> it was considered a popular, yet deprecated, name for the genus ''[[Apatosaurus]]''.<ref name=UBD04>{{cite book |last=Upchurch|first=Paul |author2=Barrett, Paul M. |author3=Dodson, Peter |editor=Weishampel, David B. |editor2=Dodson, Peter |editor3=Osmólska, Halszka |title=The Dinosauria |url=https://archive.org/details/dinosauriandedit00weis|url-access=limited|edition=2nd |year= 2004|publisher=University of California Press |location=Berkeley |isbn=0-520-24209-2 |pages=[https://archive.org/details/dinosauriandedit00weis/page/n277 259]–322 |chapter=Sauropoda}}</ref> Some deprecated terms in medicine are ''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.<ref name=iupac2013>{{cite book | title = Nomenclature of Organic Chemistry : IUPAC Recommendations and Preferred Names 2013 (Blue Book) | publisher = [[Royal Society of Chemistry|The Royal Society of Chemistry]] | date = 2014 | location = Cambridge | page = 725 | doi = 10.1039/9781849733069-FP001 | isbn = 978-0-85404-182-4}}</ref> ==See also== *[[Abandonware]] *[[Grandfather clause]] *[[List of deprecated terms for diseases]] *[[Obsolescence]] *[[Orphaned technology]] ==References== {{reflist}} ==External links== {{wiktionary|deprecate}} {{Wiktionary}} * [http://download.oracle.com/javase/1.5.0/docs/guide/javadoc/deprecation/deprecation.html How and When To Deprecate APIs] from the JDK 5.0 Documentation {{Use dmy dates|date=March 2017}} [[Category:Backward compatibility]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Clarify
(
edit
)
Template:Distinguish
(
edit
)
Template:Endash
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Wiktionary
(
edit
)