In several fields, especially
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, e ...
, 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.
Etymology
In general English usage, the
infinitive
Infinitive (abbreviated ) is a linguistics term for certain verb forms existing in many languages, most often used as non-finite verbs. As with many linguistic concepts, there is not a single definition applicable to all languages. The word is deri ...
"to
deprecate
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 ...
" means "to express disapproval of (something)". It derives from the
Latin
Latin (, or , ) is a classical language belonging to the Italic branch of the Indo-European languages. Latin was originally a dialect spoken in the lower Tiber area (then known as Latium) around present-day Rome, but through the power of the ...
verb ''deprecari'', meaning "to ward off (a
disaster
A disaster is a serious problem occurring over a short or long period of time that causes widespread human, material, economic or environmental loss which exceeds the ability of the affected community or society to cope using its own resources ...
) by prayer". In current technical usage, for one 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.
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.
Among the most common reasons for deprecation are:
*''The feature has been replaced by a more powerful alternative feature.'' For instance, the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
contains two modules to communicate with
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
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 simple
C standard function
gets()
The C programming language provides many standard library functions for file input and output. These functions make up the bulk of the C standard library header . The functionality descends from a "portable I/O package" written by Mike Lesk ...
is an example, because using this function can introduce a
buffer overflow
In information security and programming, a buffer overflow, or buffer overrun, is an anomaly whereby a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory locations.
Buffers are areas of memory ...
into the program that uses it. The
Java API
There are two types of Java programming language application programming interfaces (APIs):
* The official core Java API, contained in the Android (Google), SE (OpenJDK and Oracle), MicroEJ. These packages (java.* packages) are the core Java la ...
methods
Thread.stop
,
.suspend
and
.resume
are further examples.
*''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
Markup language refers to a text-encoding system consisting of a set of symbols inserted in a text document to control its structure, formatting, or the relationship between its parts. Markup is often used to control the display of the document ...
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
included a
FONT
element to allow page designers to specify the
font
In metal typesetting, a font is a particular size, weight and style of a typeface. Each font is a matched set of type, with a piece (a "sort") for each glyph. A typeface consists of a range of such fonts that shared an overall design.
In mod ...
in which text should be displayed. With the release of
Cascading Style Sheets
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone techno ...
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 will make major structural changes, making it impossible (or impractical) to support older features.'' For instance, when
Apple Inc.
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
planned the transition from
Mac OS 9
Mac OS 9 is the ninth major release of Apple Inc., Apple's classic Mac OS operating system which was succeeded by macOS, Mac OS X (renamed to OS X in 2011 and macOS in 2016) in 2001. Introduced on October 23, 1999, it was promoted by Apple as "T ...
to
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
, it created a
subset
In mathematics, Set (mathematics), set ''A'' is a subset of a set ''B'' if all Element (mathematics), elements of ''A'' are also elements of ''B''; ''B'' is then a superset of ''A''. It is possible for ''A'' and ''B'' to be equal; if they are ...
of the older system's
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
which would support most programs with minor changes: the
Carbon
Carbon () is a chemical element with the symbol C and atomic number 6. It is nonmetallic and tetravalent
In chemistry, the valence (US spelling) or valency (British spelling) of an element is the measure of its combining capacity with o ...
library (that has since been deprecated), 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.
*''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
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
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 media player (previously the VideoLAN Client and commonly known as simply VLC) is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desk ...
; 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.
Other usage
A
building code
A building code (also building control or building regulations) is a set of rules that specify the standards for constructed objects such as buildings and non-building structures. Buildings must conform to the code to obtain planning permission ...
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
A grandfather clause, also known as grandfather policy, grandfathering, or grandfathered in, is a provision in which an old rule continues to apply to some existing situations while a new rule will apply to all future cases. Those exempt from t ...
" them in existing
electrical wiring
Electrical wiring is an electrical installation of cabling and associated devices such as switches, distribution boards, sockets, and light fittings in a structure.
Wiring is subject to safety standards for design and installation. Allowable ...
, 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
Editing is the process of selecting and preparing written, photographic, visual, audible, or cinematic material used by a person or an entity to convey a message or information. The editing process can involve correction, condensation, orga ...
, usage of a word may be deprecated because it is ambiguous, confusing, or offensive to some readers. For example, the words ''sanction'' and ''
inflammable
A combustible material is something that can burn (i.e., ''combust'') in air. A combustible material is flammable if it ignites easily at ambient temperatures. In other words, a combustible material ignites with some effort and a flammable mat ...
'' may be misinterpreted because they have
auto-antonym
An auto-antonym or autantonym, also called a contronym or antagonym among other terms, is a word with multiple meanings ( senses) of which one is the reverse of another. For example, the word '' cleave'' can mean "to cut apart" or "to bind togeth ...
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
''Gay'' is a term that primarily refers to a homosexual person or the trait of being homosexual. The term originally meant 'carefree', 'cheerful', or 'bright and showy'.
While scant usage referring to male homosexuality dates to the late 1 ...
'' or ''
colored
''Colored'' (or ''coloured'') is a racial descriptor historically used in the United States during the Jim Crow, Jim Crow Era to refer to an African Americans, African American. In many places, it may be considered a Pejorative, slur, though it ...
'', may be deprecated as obsolete in formal writing.
In
technical standard
A technical standard is an established norm or requirement for a repeatable technical task which is applied to a common and repeated use of rules, conditions, guidelines or characteristics for products or related processes and production methods, ...
s, use of a certain clause may be discouraged or superseded by new clauses. As an example, in the
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
standard
IEEE
The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
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
Paleontology (), also spelled palaeontology or palæontology, is the scientific study of life that existed prior to, and sometimes including, the start of the Holocene epoch (roughly 11,700 years before present). It includes the study of fossi ...
is the previously deprecated term ''
Brontosaurus
''Brontosaurus'' (; meaning "thunder lizard" from Greek , "thunder" and , "lizard") is a genus of gigantic quadruped sauropod dinosaurs. Although the type species, ''B. excelsus'', had long been considered a species of the closely related ' ...
''; before being re-recognized as a unique genus,
it was considered a popular, yet deprecated, name for the genus ''
Apatosaurus
''Apatosaurus'' (; meaning "deceptive lizard") is a genus of herbivorous sauropod dinosaur that lived in North America during the Late Jurassic period. Othniel Charles Marsh described and named the first-known species, ''A. ajax'', in 1877, an ...
''.
Some examples of deprecated terms from medicine include ''consumption'' (
tuberculosis
Tuberculosis (TB) is an infectious disease usually caused by '' Mycobacterium tuberculosis'' (MTB) bacteria. Tuberculosis generally affects the lungs, but it can also affect other parts of the body. Most infections show no symptoms, in ...
), ''grippe'' (
influenza
Influenza, commonly known as "the flu", is an infectious disease caused by influenza viruses. Symptoms range from mild to severe and often include fever, runny nose, sore throat, muscle pain, headache, coughing, and fatigue. These symptoms ...
), and ''apoplexy'' (
stroke
A stroke is a medical condition in which poor blood flow to the brain causes cell death. There are two main types of stroke: ischemic, due to lack of blood flow, and hemorrhagic, due to bleeding. Both cause parts of the brain to stop functionin ...
). In
chemical nomenclature
A chemical nomenclature is a set of rules to generate systematic names for chemical compounds. The nomenclature used most frequently worldwide is the one created and developed by the International Union of Pure and Applied Chemistry (IUPAC).
The ...
, the international standards organization
IUPAC
The International Union of Pure and Applied Chemistry (IUPAC ) is an international federation of National Adhering Organizations working for the advancement of the chemical sciences, especially by developing nomenclature and terminology. It is ...
(International Union of Pure and Applied Chemistry) has deprecated the term "methyl ethyl ketone", and now recommends using the term "
ethyl methyl ketone" instead.
See also
*
Abandonware
Abandonware is a product, typically software, ignored by its owner and manufacturer, and for which no official support is available.
Within an intellectual rights contextual background, abandonware is a software (or hardware) sub-case of the g ...
*
List of deprecated terms for diseases
*
Obsolescence
Obsolescence is the state of being which occurs when an object, service, or practice is no longer maintained or required even though it may still be in good working order. It usually happens when something that is more efficient or less risky r ...
*
Orphaned technology
Orphaned technology is a descriptive term for computer products, programs, and platforms that have been abandoned by their original developers. Orphaned technology refers to software, such as abandonware and antique software, but also to comput ...
References
External links
How and When To Deprecate APIsfrom the JDK 5.0 Documentation
Detect deprecated functionsA tool that discovers deprecated functions in any Windows native application or library.
{{Use dmy dates, date=March 2017
Backward compatibility