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
Legacy system
(section)
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|Old computing technology or system that remains in use}} [[File:US Navy 110129-N-7676W-152 Culinary Specialist 3rd Class John Smith uses the existing DOS-based food service management system aboard the aircraft.jpg|thumb|In 2011, [[MS-DOS]] was still used in some enterprises to run legacy applications, such as this [[United States Navy|US Navy]] food service management system.]] In [[computing]], a '''legacy system''' is an old method, technology, [[computer system]], or [[Application software|application program]], "of, relating to, or being a previous or outdated computer system",<ref>{{cite web|title=Merriam-Webster|url=http://www.merriam-webster.com/dictionary/legacy|access-date=June 22, 2013}}</ref> yet still in use. Often referencing a system as "legacy" means that it paved the way for the standards that would follow it. This can also imply that the system is out of date or in need of replacement. '''Legacy code''' is old computer [[source code]] that is no longer supported on standard hardware and environments, and is a codebase that is in some respect [[obsolete]] or supporting something obsolete. Legacy code may be written in programming languages, use [[Software framework|frameworks]] and external libraries, or use [[Software architecture|architecture]] and patterns that are no longer considered modern, increasing the mental burden and ramp-up time for software engineers who work on the codebase. Legacy code may have zero or insufficient [[Unit testing|automated tests]], making [[refactoring]] dangerous and likely to introduce [[Software bug|bugs]].<ref>{{Cite book |last=Feathers |first=Michael C. |url=https://www.worldcat.org/oclc/660166658 |title=Working effectively with legacy code |date=2005 |publisher=Prentice Hall Professional Technical Reference |isbn=0-13-293174-5 |location=Upper Saddle River, NJ |pages=15 |oclc=660166658}}</ref> Long-lived code is susceptible to [[software rot]], where changes to the runtime environment, or surrounding software or hardware may require maintenance or emulation of some kind to keep working. Legacy code may be present to support legacy hardware, a separate legacy system, or a legacy customer using an old feature or software version. While the term usually refers to source code, it can also apply to [[executable]] code that no longer runs on a later version of a system, or requires a [[compatibility layer]] to do so. An example would be a classic [[Apple Macintosh|Macintosh]] [[application software|application]] which will not run natively on [[macOS]], but runs inside the [[Classic (Mac OS X)|Classic environment]], or a [[Win16]] application running on [[Windows XP]] using the [[Windows on Windows]] feature in XP. An example of '''legacy hardware''' are [[legacy port]]s like PS/2 and VGA ports, and CPUs with older, incompatible [[instruction set]]s (with e.g. newer operating systems). Examples in '''legacy software''' include '''legacy file formats''' like [[.swf]] for [[Adobe Flash]] or .123 for [[Lotus 1-2-3]], and text files encoded with legacy [[character encoding]]s like [[EBCDIC]].
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)