Six things that Windows does right that Linux still doesn’t
As a follow-up to last year’s top10 list of things Linux does well, I figured I should write about what the Windows platform does right.
And as I’ve said before, I’ve been developing software for Windows and *nix on a daily basis for more than a decade. I’ve also used OSX (and earlier), WinCE, PalmOS, and many other operating systems. Each system has things that work well, and each has things that will suck the life out of you. Looking at the differences is a great way to learn about what works and what doesn’t.
Note to Digg readers: Windows succeeds as a platform because it’s everywhere, and it’s easy to build software for, something that’s only possible due to their great vendor support (and chair-fueled monopoly). And while Linux vendor support has improved vastly in the last 10 years, it is still no match for the base Microsoft has built. So what? Linux will get there (and it’s my home platform), it’s just not there yet.
What do I think Microsoft Windows does well?
- Snappy application startup and windowing. I dual boot most of my systems, and on equal systems (with reasonably optimized packages) Windows beats Linux hands-down in general snappiness (outside of older tools like vim). Recent Linux distributions have improved a lot, but they still lag in snap (especially startup times, window resizing, etc.). This goes for both KDE and Gnome applications. My definitive test? Firefox on both platforms: 250ms on WindowsXP, 1.5s on Ubuntu 6.10. This is partly a Gnome problem, partly an XFree problem, and partly a gcc problem. And if you haven’t noticed the difference, try measuring it yourself.
- 3d and wireless drivers. Hands down, most hardware vendors support Windows best. Linux still wins with most of the tangent hardware (printers, scanners, nics, etc.), but it tends to fall on itself with the proprietary mess of new-fangled 3d, capture, and wireless hardware. Some vendors like NVidia have improved their Linux support greatly (and I actually prefer NVidia’s newer XFree driver package over their Windows package), but in terms of support and performance, Windows XP’s vendor support has Linux beat.
- Stable ABI and APIs. While the Win32 APIs are a mess, they are binary stable. The nature of Gnu and OSS prefer source-stable APIs (which is also good). Binary compatibility, though, is handy for writing commercial software. Yes, commercial software can be written for Linux, but it makes more sense to release sources on Linux than to aim for widely-compatible binaries.
- Games. I’m not a PC gamer, but if I was XP (or 2k) would be the place to do it. Personally, I prefer my hand-held and console games.
- Specialty applications. Software development of nearly any specialty software is still cornered in the Windows market. We’ll all be happy when these vendors start supporting Mac, Linux, and web platforms, but that’s still years off. Until then, most people need to keep a Windows machine around. It’s not that custom Linux applications aren’t possible, it’s just that they’re so pervasive in the Windows world: every shop I’ve consulted at has a handful of custom applications that are Windows-only, and no longer maintained. This makes it very difficult for businesses to consider switching away from Windows.
- Browser plugins. Flash, for example, even on the newest Linux distros will stop working after a few months of updates (or may not work at all for some architectures). This is especially annoying now that Flash is actually useful, as sites like uTube and Google video use it to package video online. To contrast, I’ve never seen plugins stop working in IE or FireFox on Windows. Flash on Linux has lagged behind the other platforms too, and is not available for 64bit builds of Firefox.

RSS![15 comments [Comment]](/images/comment.png)
I don’t usually do the top-ten shtick, but I’ve seen too many horrible personal websites linked from 