Ok... I know I need to get my comments retrofitted so I can keep these threads under one topic, but oh well...
Javier makes some interesting points, but I am going to take exception to one little tidbit...
"if you want robust framework that will ship 6 months late". Now I could be taking this statement at more than what was intended, but it seems to me that the implication is that Java is a better environment for building frameworks and because of this capability, Java architects spend a lot of time debating the best way to build these frameworks. By extension, .NET is not so good for frameworks so developers can just focus on building apps
Having interacted with Jav quite a bit, I am pretty sure that this is not what he meant. He is smart guy (though his pasta-antipasta statements tend to scare me) and I like to ride smart guy's coattails, so what I think Javier meant to say is this...
Java offers a plethora of design choices beyond simple design pattern decisions. Different object options, different web UI frameworks, different persistence options, and so on. .NET makes a ton of these decisions for you. The wiggle room is less, but there is more plumbing. Perhaps Java is more flexible as a result, but I think the cost is just too high for most development shops. They get wrapped around the axle trying to figure out what to use and how to use it best. There are lies, damn lies and benchmarks, but the biggest thing you can take from the whole
Middleware Pet Shop benchmarks was that is took over 10 man months of time to get an optimal Java solution (and many in the Java community will tell you it is not optimal though many will say it is... ugh) and it took about 10 man days to crank out the .NET solution. Enough said.