Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
5 user(s) are online (4 user(s) are browsing encyclopedia)

Members: 0
Guests: 5

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Deprecation

In computer software standards and documentation, deprecation is the gradual phasing-out of a software or computer programming language feature.

A feature or method marked as deprecated is one which is considered obsolete, and whose use is discouraged. The feature still works in the current version of the software, although it may raise Error#Programming as warnings. These serve to alert the user to the fact that the feature may be removed in future releases.

Features get marked as deprecated, rather than simply removed, in order to provide backward compatibility for software users. When other programs depend on the deprecated feature, programmers need time to change their code to avoid the feature.

Programmers or standards-makers may choose to deprecate a feature for any number of reasons. Some common cases are:

  • The feature has been replaced by a more powerful, alternate feature. For instance, the Linux kernel contains two filesystem drivers to access Microsoft Windows file servers -- smbfs and cifsfs. The later cifsfs provides better security, supports more server features, and integrates better with the rest of the kernel. Since the inclusion of cifsfs, 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 C programming language standard function gets() is an example of this. Using this function can introduce a buffer overflow into the program that uses it. However, it cannot be removed as it is part of the C standard, and a compiler which lacks it would be out of conformance. Therefore, Compilers raise warnings when it is used.
  • 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 World Wide Web markup language HTML included a FONT 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 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 is planned to make major structural changes, which make it impossible (or impractical) to support older features. For instance, when Apple Computer planned the transition from Mac OS 9 to Mac OS X, it created a subset of the older system s API which would support most programs with minor changes. This became the Carbon (computing) library, available in both OS 9 and OS X. Programmers (who were, at the time, chiefly using OS 9) could ensure that their programs would run natively on OS X by using only the API functions in Carbon. Other OS 9 functions were deprecated, and were never supported natively in OS X.
  • = Etymology =

    In mainstream English, the verb to deprecate means, simply, to disapprove of (something) . It derives from the Latin verb deprecare , meaning to ward off (a disaster ) by prayer. Thus, for a standards document to state that a feature is deprecated is a recommendation against using it. Alternately (and somewhat more dramatically), the writer implores users against using an old, bad feature so that it can be removed.

    It is often confused with the word depreciation . Using deprecated programming language features may cause the value of a program to depreciate: eventually, the features will be removed, or the program will no longer run. Nonetheless, deprecate and depreciate are not synonyms.