A moc to MS nezvládl. Místo toho, aby věci co jsou dobré a zažité převzal (třeba slovo deprecated když už jste ho použil, vymyslí si vždy něco "zajímavého" vlastního - slovo obsolete). Balíky navržené v Javě mi vyhovují. Namespaces v .NET jsou běs. Partial class, metody označené jako virtual a override, neexistující povinnost odchycení výjimky a řada dalších problémů s data bindingem na které denně narážím mi jen cuchají nervy. O Visual Studiu 2008 a Team Foundation Server ani nemluvím. Je to zralé na kompletní přepis. Java má své problémy a opravdu některá api jsou zastaralá, ale celkově je pro mě použitelnější.
Javě mohu navíc přičíst obrovské množství otevřených knihoven a velikost celé komunity. Ono si stačí porovnat výsledky hledání v googlu při řešení konkrétního problému. U .NETu často najdu MSDN, které je mnohdy opravdu nepoužitelné a pak pár žbleptů.