Quick thoughts now, so I don't forget I want to talk about this. Bug me about it, if you haven't seen it in a bit and you care.
It strikes me that there's a relatively major conflict between the unix, use-text-as-your-API, do-one-thing-and-do-it-well philosophy and the MS philosophy. No duh, you say. Well, but one of them is about having developers insulated from the platform and from the common mistakes, and the other is about making the platform common and the mistakes plain and easily-solvable.
The problem is that software development, in the corporate environment, is more about solving complex problems than simple ones.
Anyway, like I said this is poorly formed and I'll talk more about it later.