kfitting,
http://www.grcsucks.com/ :^) - seriously, that guy is SO full of himself.
Carol, most of the windows problems are at the usermode level: IE, the shell, etc. There's simply too many people touching that code, and too many people who aren't good at it. On the other side is the NT kernel, which is a pretty nice piece of work (and yeah, there's even a few pieces of assembly in there - not much, though).
It is unfair to say that sloppy asm code is no faster than compiled code.
Yes and no - although this ends up being more of a time issue. Algorithm design in assembly tends to be a lot more time-consuming than in, say, C++ because of annoying things like the very limited amount of registers on the x86. Register allocation and function inlining are two reasons why an intermediary C++ programmer will probably end up producing better code than an intermediary assembly programmer.
The point is that it requires a lot more to produce good assembly code than it does to produce good C/C++ code. If you take a look at the various assembly-related resource around the net, you'll see people that DON'T go this extra way, end up producing code that is worse than a compiler... and, the worst part, many of them have this "omfg I am teh 31337 coz I code in ASM!" attitude.
And then there's this silly fascination and "it requires a genious to program in assembly" - well, it doesn't. Not even to write decent code.
But I fully agree that assembly skills are useful, and there's still a lot of places where assembly makes sense. And I'm glad I still have a PII-MMX-350 for testing, so I don't become a sloppy programmer