Coding Horror: Has The Virtualization Future Arrived?
codinghorror.com
codinghorror.com
Is an operating system to only be taken seriously if it requires a significant amount of resources to run?
Microsoft thrives when people buy new PC hardware, because the easiest way to acquire a customer for a new Windows license is to bundle that license with every PC sold. [1] And Moore's Law provided great leaps in processing speed every year or so. So there was never any incentive to save on resources. Quite the contrary: A Windows release which pushed the envelope of compatibility with current hardware encouraged fence-sitting users to bite the bullet and buy a new PC -- with a new Windows license -- rather than watch their apps gradually slow down or become incompatible as app developers gradually introduced features of the new Windows into their codebases.
Among other things, think of it as a subtle form of copy protection. Back in 2001, you could buy one copy of Windows XP and install it on all of your Win98 boxes. But it would run like crap. Better to just buy some new boxes -- each of which comes bundled with a copy of XP.
Of course, once PCs and Windows became "good enough" the whole strategy fell apart. We seem to be in that world now. The new rage in consumer computing is netbooks and smartphones -- machines that deliberately throw away performance in exchange for other useful characteristics like "cheapness" or "lightness" or "low power consumption".
---
[1] For years it was nigh-impossible to get a company like Dell to sell you a PC without a Windows license included. Linux users complained and fought for years over this "Microsoft tax". For all I know, this is still a problem.
Yeah... virtualization. Yeah, good way to run legacy apps, here is a screen shot of how it works, see kidz?
NT was (then) 7 years out of support and is nearer 10 now. But if you have apps that run on it, they still run on it...
However trying getting an replacement network card with NT drivers these days. Virtualisation is your man...
Back-compat has always been the main force that held MS back, I'm glad they're doing something about it.
The horror stories will come from enterprise software, where companies are running Win3.1 binaries even to this day, and where developers are even lazier.
And there's no reason to strip out WinXP compatibility per se from Windows 7 - IMHO the OS needs to keep native back-compat for at least the last couple of generations - but anything older shouldn't be in the code base.
If not, then there isn't true backwards compatibility, just more bloat.
You should always have an exit strategy.
But running an emulated Windows environment is not the worst possible scenario.
I've been working on a project to upgrade a old DOS based industry specific app to a "modern" browser app. There are still people using the DOS based version, and our main client for the browser app is still using Windows 2000 and IE 6.
It ran for about five years, until the company went bankrupt.