Lord Palmerston on Programming
While I agree with this essay, I'm not sure the complexity can all be pinned on "The Law of Leaky Abstractions." I think it's simpler than that: Windows is a very complex system with lots of different, independently complex parts. Just learning all the details of memory management is challenging. Then there's COM, the scripting interface, GDI, .net, you name it. And really basic stuff can be difficult to find. Try to find authoritative information on parts of the PE file format--the format used for all Windows EXE files--and you have to piece together bits from here and snippets from there.
Fog Creek Home