MS когда копировали Java думали что сделали круче.
И только теперь до них дошло, что нужно было делать настоящую кроссплатформенность, то есть только спустя 17 лет они начали делать .Net Core, настоящий аналог Java.
Это типичная болезнь новичков. Находишь в работе профи некие мелкие недочеты, гордишься что увидел их и смог не допустить. При этом не обращаешь внимания на вещи более крупные, ключевые. Упускаешь из из внимания вообще. И только потом, спустя десятиления, понимаешь каким ты был дураком и что все нужно передалать заново.