рассмотрим на примере только дотнета, я его лучше всего знаю, а проблемы у его собратьев такие же.
изначальная идея "компилируем раз — запускаем везде" давала надежду, но не только по маркитенговым, но и техническим причинам оказалось, что
приемлемом уровне это сделать сложно, в итоге все жавы и дотнеты оказались очень даже одно платформенными.
а самым реально мультплатфоменнным оказался в итоге Си с С++ом
тогда нафига весь этот огород?
а если просто представить, что не нада было заморачиваться платформонезависимостью, но реализовать лучшие наработки в области сематники и базовых либ?
код запускался бы сразу без JIT компиляции и тормозов с ней связанной и можно было бы делать реальную оптимизацию кода компилятором выжимать максимум.
а мультиплатформеность достигнуть посредством просто написания соот-щего компилятора под то, что нужно, сохранив максимум совместимости на уровне базовых библиотек.
да, различия платформ все равно придется учитывать в коде, но код на 98% будет компилируем без переделок и будет работать везде на максимуме скорости и без ЖИТ тормозов.
конечно с костылями это можно и сейчас достигнуть, типа С/С++ и буст или С/С++ и скрипты, но это всё извраты и многом ограниченные по функционалу.
мож нада было идти этим путем? а не жертвовать многим ради платформонезависисмости которая в итоге недостижима оказалась.
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.