It's funny, in a way: it's almost as if Java has too much disagreement and disunity within its community, and .NET not enough.I wonder how much this comes from Java having multiple strong vendors while dotnet has but one. Isn't this like the Unix and Windows communities? Multiple Unix vendors are going to disagree and so divide the communities to a more significant degree than the single Windows vendor.
With a Microsoft product, you accept the faults and go with it. There is at least a perception of no other choice, at least not without some significant compromise. Vendors of other "standards" have to find ways to differentiate and still conform.