Too Long; Didn't Read
Legacy code is unwieldy, outdated, and messy, which can lead to numerous problems. It may be written for operating systems that are no longer supported, or older software versions. It can also refer to unsupported operating systems, hardware, and formats. The problem of legacy code is technical debt - each time the code changes hands, it needs more and more features and bug fixing, all of which is time-consuming and frustrating. When people leave, it may be hard to find new developers appropriately skilled to work with it.