Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Some companies, like Blizzard, make software that continues to work well in future versions of Windows and with newer versions of their other software dependencies. Other companies (mostly ones that are not hardcore software companies) sometimes write software that breaks with a release of a new OS or other software dependency. What do the hardcore software companies know that the others don't? What are the major causes for forward compatibility problems?

share|improve this question
Do you have an example of something that failed? – Fosco Oct 6 '10 at 12:38
@Fosco Many older games, for example, are unplayable on modern computers, some due to OS changes, some due to hardware advances. – Adam Lear Oct 6 '10 at 13:05
@Fosco I've seen lots of stuff like that. One that particularly stands out to me is an Israeli quest game called Granny X that refused to work in anything that wasn't Windows 95 (not even on Windows 95++, AKA Windows 98). Other examples are old astrology programs my mother used, educational programs for children, etc. – EpsilonVector Oct 6 '10 at 13:11
Diablo doesn't (or didn't until recently) work on vista/7 without some finagling. Likewise, the colours were buggered in StarCraft without disabling the explorer shell in 7. – Steve Evers Oct 6 '10 at 16:18
up vote 9 down vote accepted

Did Blizzard write software that works well with future versions of Windows (Starcraft still plays on 7 for example)...

or did Microsoft write "future versions" of software that are backwards looking?

Something like WoW isn't exactly "forward looking" since it's still in active development. Other software, like Starcraft/Warcraft/Diablo was written for the time and happens to still work because MS goes out of its way to enable old software on new systems.

Blizzard also has the ability, and reason, to update it's old games. Very popular titles that drive it's current software.

Some software uses hackish/non-standard parts that don't work well. Unique setups, reliant on "old" bugs to operate, drivers that aren't ported to new systems, etc.

share|improve this answer

Several reasons:

  1. They write to standards that continue to be supported in future OS's
  2. OS companies (e.g. MS) actually put in a good deal of code to support older software
  3. Large popular software houses tend to have formal or informal relationships with the OS companies, so they get to see stuff earlier.
share|improve this answer

I think it's just that writing forward compatible software takes more effort. Whether the effort (=cost) is worth the compatibility must be evaluated by the releasing firm.

For example, database schemas can change. They could be migrated automatically (for best user experience) or ignored (for less development effort).

share|improve this answer

You can't ensure 'forward compatibility', it is up to the OS and HW makers. The best thing you can do when writing software is to ensure you aren't using depricated features or non-standard tricks.

share|improve this answer

I would think the main reason for lack of forward compatibility would be the dearth of working programmers who also happen to be clairvoyant.

share|improve this answer
I've got several pkunk programmers for exactly this reason. I pay them in Pootworms, which is incredibly cheap. – Stephen Furlani Dec 13 '10 at 15:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.