Вопрос наверное прост, и может я что-то не понял. Насколько я знаю, Джава так стала известна из-за своей межплатформенности, которая реализовалась за счёт промежуточного байт-кода и простоты реализации JVM машины, которая и компилировала байт-код в машинный. Так чем же проста реализация вирт.м.Дж., если у платформы Net тоже есть промежуточный язык IL (MSIL или CIL), который компилируется JIT-компилятором в машинный код? Даже не так должен звучать вопрос: почему CLR сложнее реализовать на других осях в отличии от JVM? Сейчас читал Скотта Хенселмана о Мифе о чистоте приложений .NET, и увидел:
Название технологии .NET Common Language Runtime говорит само за себя, поскольку это скорее исполняющая среда для конкретного языка, а не виртуальная машина. Несмотря на то, что она успешно абстрагирует приложения от «железа» благодаря использованию промежуточного языка MSIL и API-библиотек платформы .NET Framework, она крепко привязана к нижележащей операционной системе, то есть Windows. --- Так почему же она так крепко привязана и почему Майкр-т не развяжет эти узлы для свободной разработки?
Этот вопрос уже задавали 100 раз еще 15 лет назад. Майкрософт написали джаваподобный язык для своей платформы, что бы потеснить джаву на своей платформе. Всё. Там нет ничего сложного или простого. Просто бизнес.
@NickMN: Алкоголь, рок-музыка и философия не помогают найти ответ. Они помогают забыть вопрос. Вы начинаете философствовать. Сейчас ничем не отличается от того, что было 5 или 10 лет назад. Сложность ПО не меняется уже более 20 лет. Остается одинакого высокой. Для поддержки портирования .NET нужны люди. Которых нету. Есть Mono, но оно не ушло дальше .NET 2.0
JVM далеко не так проста, как кажется на первый взгляд. Ее много лет разрабатывали умные (если не сказать умнейшие) люди из IT-комьюнити. Именно по этому "нельзя так просто взять и развязать узлы".