Latest revision as of 19:47, 24 February 2013
Deprecated in programming indicates that something (usually a variable or a function, although sometimes even a full API) is old and in the process of being phased out; usually in favor of something newer. This will appear in documentation to indicate to a programmer that they should stop using the deprecated code and replace it with calls to the newer replacement (if one exists), or else simply recode to avoid the deprecated call.
Deprecated code may be maintained for a while for what is called Legacy Support - effectively allowing programs (especially older programs) to keep functioning even though a new version of the programming language or dependency has been implemented. However, deprecated code is often discarded after several new versions, either because it is assumed that programmers have at that point gotten around to fixing the deprecated code, or because the language or API wishes to branch out in a new/fresh direction. It is at this point that exceptionally old programs tend to cease functioning or otherwise behave undesirably.
It is also not uncommon for deprecated code to remain, but not be maintained. The underlying behavior (based on other function calls being updated or changed) may change and the deprecated code may start to act undesirably, even though it hasn't been phased out entirely yet. A good example of this in Game Maker is the deprecated image_single variable.
It is common courtesy within the documentation of a deprecated code to also indicate the intended replacement code(s). Otherwise a programmer may become confused or frustrated when they find the code they are familiar with is being deprecated, and then they either have to spend valuable time searching for a replacement, or succumb to knowing that the code they are writing is deprecated and may break soon.
Within this wiki, deprecated items are documented with the Deprecated template.