Backward Compatibility
© 13 Sep 2011 Luther Tychonievich
Licensed under Creative Commons: CC BY-NC-ND 3.0
other posts

Accepting a curse to provide a blessing.


Backward compatibility is the property of a new product requiring little if any changes outside itself compared to the old product. You usually only notice it when it’s missing: when you can’t unscrew something because it uses non-standard screws, or you can’t replace a battery because it’s unusually shaped, or your old files look a little different in the new version of the software.

Many beautiful ideas are sacrificed to backward compatibility. For example, a binary number system is superior to decimal in almost every way. You can count to 32 on one hand in binary, only to 5 in decimal. It requires less space to legibly write the same value in binary. Addition and multiplication in binary are easier than in decimal. I could go on… but there’s no point. Binary is not backwards-compatible with adults. There are billions of people in whom the decimal system is ingrained, there is really no way to get binary to actually replace decimal.

By going with the compatible over the ideal I am choosing that which has more short-term gain over that which has more long-term benefits. But this is not necessarily short-sighted. New ideas arise with such regularity that we could likely abandon the old for a “‍better‍” choice so frequently that nothing would ever be compatible at all.

I find myself doing things the compatible way instead of the elegant way every day. Sometimes it feels like a curse, this weight of tradition keeping me from flying freely into the blissful sky of elegance. But it is a curse that allows the greater blessing of a world that works. And that is a blessing worth the cost.

Looking for comments…

Loading user comment form…