Keeping PC software up to date isn't going to get any easier. Another problem with binary compatibility is that once you go forward, you can't go back. Binary compatibility provides forward compatibility but not backward compatibility. This creates another set of interoperability and scaling problems for customers and application providers alike. Emulation Another way to provide application portability is through emulation.
Emulation uses a layer of software to maintain binary compatibility.
Historically it has been used to entice customers to switch computer platforms. The old software is supported to ease the transition to new software on the new platform. More recently, emulation is being used to permanently support old software. Windows NT includes an emulator for 16-bit x86 code. Performance is usually 120f what could be achieved natively.