Wednesday, April 09, 2008

The most likely reason Windows does dumb stuff sometimes

http://blogs.technet.com/robert_hensing/archive/2007/04/04/dep-on-vista-explained.aspx

Let's start with Explorer - on 64bit versions of Vista - by default your shell, Explorer, is a 64bit version of the binary (explorer.exe) and thus it has DEP enabled by default. But as it turns out - we have provided a 32bit version of this binary and many other system binaries in a special folder for you to shoot yourself in the foot with use. Why? For the same reason we do anything seemingly stupid - for backwards compatibility and application compatibility reasons beyond our control. :)
It's a good thing 64bit versions of Vista default to running the 64bit version of Internet Explorer by default right? Oh wait - they don't. What what WHAT!? Why on Earth not?! Well, for the same reason we do anything seemingly stupid - for backwards compatibility and application compatibility reasons beyond our control. :)

This is the 2nd time I'm reading a Microsoft blogger lameting on sacrificing common sense for app compatibility. The first was Raymond Chen http://blogs.msdn.com/oldnewthing/archive/2003/12/23/45481.aspx explaining how MS would rather bend-over-backwards to support older programs that are buggy or using undocument stuff, than have those programs stop working. I understand their point of view - as both Robert Hensing and Raymond Chen note, if you upgraded to the newest version of Windows or IE and then programs you absolutely depend on like Flash crash who would you blame, MS or the app manufacturer? So in an atempt to keep a pristine out-of-box experience, new versions of MS products sometimes leave your head scratching and you thinking "Why on earth did they do that?"

This is also the driving force in the ongoing IE8 saga, which is excellent treated by Joel on Software
http://www.joelonsoftware.com/items/2008/03/17.html This essay is what clued me into to Microsoft's eternal stuggle with backwards compatibility.

No comments:

Post a Comment