Думаю, майки бы обнулили яву, если бы реализовали .NET для чайника, но они не ставили себе такую задачу
У джавы были сверхудобные фичи по сравнению с .net:
1. джарка независима от архитектуры x32/x64, очень простой билд/деплой/дистрибуция.
2. в любом классе можно было прописать main и он сразу становился запускаемым, нет различия exe/lib
3. в джаве единица загрузки — это класс, можно состряпать и загрузить класс динамически в рантайме и полетели, соотвественно скриптинг во всех позах. В .net единица загрузки — сборка, и долгое время был баг, что загрузка/выгрузка сборки оставляла мемори лик.
4. в джавовском мире цвёл и пах опенсорс, в частности Томкат был доступен аж с java 1.4 и быстро набрал популярность, контраст по сравнению с IIS был разительный.
Так что уже сначала, несмотря на доминирование M$, как только некто становился джавистом, его туда засасывало со страшной силой и в .net люди возвращались неохотно, если возвращались.