
"
Microsoft Windows has put on a lot of weight over the years" writs Randall Stross in a recent
New York Times blog entry on Windows' legacy code. "
Beginning as a thin veneer for older software code," he continues, "
it has become an obese monolith built on an ancient frame. Adding features, plugging security holes, fixing bugs, fixing the fixes that never worked properly, all while maintaining compatibility with older software and hardware -- is there anything Windows doesn't try to do?" Does Microsoft have the business savvy or guts to rewrite Windows?
Member since:
2007-08-22
Blaming Windows 3.1/win32s/Windows 95 compatibility for the sorry state of affairs in Vista is complete folderol.
The NT kernel itself is quite good. However, what kills Windows is (a) 3rd party drivers (e.g. non-Microsoft provided drivers) for hardware such as video cards, sound cards, NICs, and various chipsets - yep, about the whole system; if you have good hardware with good drivers you're fine - and usually the Microsoft Certified drivers are good drivers - in terms of being friendly with the OS and not crashing the thing. (Keyword: usually)
(b) The Win32 API. As far as security goes - it's just horrid. For example, any application can modify any other application's GUI interface without necessarily having permission from the originating application. (Don't that before to get passwords; a little harder now since they did fix that by using encrypted text for the text box when its designated as a password text box; but it can still be captured without permission.)
Honestly, they need to get take the whole Win32 API and deprecate it; and start a new API that has security as its foundation. Keep it around for legacy support; put it in a sandbox even so it can't harm newer applications. And they could do that. (And no, the .NET API does not qualify since it basically calls back to Win32 to begin with.) The required functionality is already a center piece to the NT kernel since the Win32 API is one of a number of APIs (including a POSIX specific API) that the NT kernel supports natively through a DLL extension. There's nothing saying they couldn't create a WinNG (Next-Generation) API and support it alongside (at the same level) as the Win32 API; and move developers over to it - leaving the Win32 API there for legacy and basically unchanged. Developers will move; even if forced.
The likelihood of Microsoft doing that - near zilch.