|
|
|
|
|
by mwcampbell
4337 days ago
|
|
On the contrary, the Windows API has endured through some pretty big changes, e.g. from 16-bit to 32-bit and then 64-bit, and from a cooperative single-address-space system to preemptive multitasking with memory protection between processes. (I was surprised that each application had its own message pump even in the cooperative multitasking days.) In what ways do you think the Windows developers' hands were tied by the need for backward compatibility? Seeing how similar the Windows 1.0 API was to the current Windows APi for desktop apps, I'm actually sad that Microsoft decided to (mostly) abandon that legacy for the new "modern" Windows apps under Windows 8 and Windows Phone 8.1. There's no reason why the classic Windows API couldn't have been adapted for these new-style immersive apps running inside sandboxed containers. But I guess the Windows API gained too much of a reputation for being old, crufty, ugly, and unapproachable for new developers; that's certainly how I saw it when I got my first copy of Visual C++ in 1998. But now I wish Microsoft hadn't responded to that perception by abandoning that API, which has now evolved for decades. |
|
Did this insane focus on backwards compatibility hurt Microsoft? I don't think you can conclusively say. Did it hurt me as a former Windows developer? Only at best tangentially; all the backwards compatibility crap is pretty abstracted from you if you hang out in .NET land. (Except when it isn't.[1]) And at any rate, I don't think the bleed-through is noticeably worse than e.g. POSIX intrinsics showing up in OS X. But I think the argument that the engineering required to ensure Windows maintained such a strong backwards compatible stance ate out of resources that could've kept Windows more up-to-date has a point.
[1]: http://bitquabit.com/post/zombie-operating-systems-and-aspne...