Deprecated

"Deprecated" is a software development term for features being phased out and replaced. A deprecated feature in a programming language or software application may still work, but it is no longer supported or improved. Most deprecated features are eventually removed entirely. The developers of a program or programming language typically announce a feature's deprecation months or years in advance to give software developers time to implement a replacement.

Programming languages and software applications in active development will occasionally replace old functions and other features with entirely new replacements. For example, in PHP, the money_format() function that formats a number as a currency string was deprecated in favor of the more robust NumberFormatter class, which can format numbers in many ways including as currency. The old money_format() function continued to work after its deprecation was announced with PHP 7.4, giving PHP developers time to update their source code in advance of its removal entirely in PHP 8.

Being deprecated does not always mark a feature for removal, particularly in a program or language that has been around for a long time. A deprecated function may stick around for backward compatibility, even if a better implementation is available or the original method causes system instability, to allow old software to continue to work without an overhaul. For example, JavaScript's escape() function was deprecated due to poor support for Unicode characters but is still available in most web browsers to allow old JavaScript code to run.

Xcode displaying a warning that this project uses a deprecated function
Xcode displaying a warning that this project uses a deprecated function

Software and programming language features may become deprecated for several reasons:

  • A replacement feature is introduced that performs the same function with improved performance or reduced complexity, making the deprecated feature obsolete.
  • Old features that are inconsistent with the current state of the program or language may be deprecated in favor of a redesigned version. These features may use outdated syntax or naming conventions that could confuse a new programmer, so they're deprecated and replaced with versions that align better with modern standards.
  • A feature with a design flaw (like a security vulnerability or memory leak) may be deprecated to discourage use.
  • Redundant features may be deprecated and removed to reduce the complexity of the system.
  • Scheduled changes to a program or language will cause an existing feature to break, so it is marked as deprecated in advance to encourage developers to use an alternative that won't be affected.

NOTE: The developers of a program or programming language announce feature deprecation in their documentation and release notes. Deprecated features in a programming language will also trigger warning messages in that language's integrated development environment (IDE) when software developers attempt to use them.

Updated May 17, 2023 by Brian P.

quizTest Your Knowledge

Which statement about the JSON file format is false?

A
It is a plain-text interchange format
0%
B
It is an alternative to XML
0%
C
It can only be processed by JavaScript
0%
D
It uses curly brackets to identify elements
0%
Correct! Incorrect!     View the JSON definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Deprecated on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.