Backward Compatibility – ytilibitapmoC drawkcaB
Imagine your car’s headlight is broken and you go to a garage to get it repaired. The lady at the desk says that you will have to buy a new car because the new headlight won’t fit your old car. That would be a little insane, wouldn’t it?
But imagine that a new headlight was produced that can also fits older cars? That would really solve a lot of issues!
It’s the exact same with computers, the concept of backward compatibility in the world of the computer has existed for quite some time. The basic idea is that new technology can still interact and work with older technology. The most common example we probably all know are the new office versions. Since MS Office 2007 there is a new version of office documents, for example the DOCX, this is a word document. In older versions of word this extension didn’t exist, the only available format was DOC.
Yet the new version of word still manages to open and edit older word documents.
You can imagine the importance of backward compatibility. Specially for companies, it would be a total disaster if, after the upgrade of a software package, all data would be gone, documents could not be opened, source code could no longer be compiled. It would takes months to recover from this and that is of course impossible for a company.
Backward compability has always been a feature of operating systems, if you are a windows user you have been confronted with this multiple times I’m sure. Specially the newer versions of windows try to make your old programs work again with the compatibily feature. Because, let’s face it, not all files and programs are by default backward compatible. Although it sounds very logical and simple to create something that keeps on working, even in newer versions (because those software developers have the old code, right!?), this is not always the case.
There are several reasons why, in some cases, backward compatibility doesn’t work. The first is the technology itself…
Sometimes technology changes so drastically that it’s virtually impossible to make sure the old files and source code still works. Think of new standard, which sometimes just needs to be created in order to make everything work better, more performant. But if you are a bit handy, most of the time you can find a way around this limitation. Dosbox is a nice example. Even though old video games will no longer work on your fancy new computer, dosbox can emulate the “good old times” and make your old computer games work again on the new machine.
Secondly, some hardware or software can not be backward compatible because of “economic” reasons. A few years back, when the playstation 3 came out, there was still a very limited choice of PS3 games. But even so, a lot of people bought a PS3 no matter what, because the playstation 3 was backward compatible with PS2 and PS1 games. So if you still had games for the previous consoles, you could still play them on the new PS3.
But what happened was, because of the high prices and the limited choices of the PS3 games, a lot of people just kept on playing and buying the PS2 games available. Sony noticed this and also noticed that the sales of the PS3 games did not go as they expected. So this is what they did. ..
They brought out a newer, cheaper, version of the PS3 which was only compatible with the PS1 games. No longer could you play the PS2 games on the new PS3 console.
So you see, it’s not always because of “dumb programmers” (because that’s what most people think when something doesn’t work the way they want it to, right?).