Coding Horror

programming and human factors

DirectX Version Number Abuse

Has anyone noticed that Microsoft defines "version" a little loosely when it comes to DirectX 9.0c? Here's a screenshot of the DirectX 9.0c download page on FileHippo:

DirectX 9.0c versions

DirectX 9.0c was originally released in August 2004, according to the DirectX Wikipedia entry. But Microsoft has surreptitiously been updating DirectX 9.0c since August 2005 without incrementing the version number.

It is not known why Microsoft has not used new version numbers for the updates to DX9.0c -- including the December 2005 update versioning could now be at DX9.0j, although this is nowhere reflected in the internal code.

So do you want version 9.0c, 9.0c, 9.0c, or perhaps.. 9.0c?

The versions are all fully backwards compatible, of course, but why is Microsoft abusing version numbers this way?

It's impossible to tell what version of DirectX 9.0 you're actually running. I've installed several games over the past year which inexplicably demanded to re-install DirectX 9.0c; now I know why.

At least Vista stops the madness by finally changing the version number to DirectX 9.0L.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror