Здравствуйте, lpd, Вы писали:
_>>Бррр, ты похоже снова не в курсе базовых принципов. Байт-код даёт переносимость между разными процессорными архитектурами. А переносимость между разными ОС даёт наличие стандартных библиотек, собранных под данную платформу. Именно это и реализует wine под линухом. Или вот новая реализация подсистемы линуха в windows10.
lpd>От ОС зависит также формат бинарного файла и системные вызовы, если не требовать прослоек. Кроме того, я говорю о том, что практически используется сейчас на десктопе:
Вот системные вызовы — это и есть набор библиотек. ) Ну а формат файла — это вообще ерунда. Кстати, тот же пример MS (засунувший в exe байт-код .net'a) это прекрасно демонстрирует.
_>>Что за 2 ОС?
lpd>Имею ввиду Windows и Linux. Еще в некоторой степени MacOS. Переносимость Java сейчас используется именно для запуска на этих ОС, а не для запуска приложений на Arm или других процессорах, которые на десктопе редки.
Ааа, ну если ты говоришь только про декстоп (сейчас уже не самое главное направление развития), то там возможно и две... Причём это скорее Windows и OSX. А Линух тут вообще на уровне стат.погрешности — инструмент гиков.
lpd>Я говорю не об отличиях между современными Java/C# и C++, а между возможными языками с байткодом и без — т.е. о принципиальных отличиях. Наверное, мне следовало это лучше выделить в моем сообщении. Все остальные преимущества могут быть ликвидированы развитием C++ или созданием другого языка без байткода.
Ещё раз повторяю — нет такого принципиального отличия. ))) И у C++ есть байт-код (только используется не так широко). И у .Net есть компиляция в машинные коды (как раз сейчас развивают данное направление). Ключевые отличие в других местах, а это так, ерунда.