Почему в Java используется байт-код для обеспечения кроссплатформенности?

Чтобы перенести на новую платформу нужно написать виртуальную машину для этой платформы, но в чем проблема сделать компилятор для новой платформы (для компилируемых языков) , который обеспечит такую же кроссплатформенность?
  • Вопрос задан
  • 1024 просмотра
Решения вопроса 2
@d-stream
Готовые решения - не подаю, но...
но в чем проблема сделать компилятор для новой платформы (для компилируемых языков)
вообще никаких проблем, взять и за полчасика свять)
Потом добудем все 100500 миллионов программ и скомпилируем под каждую архитектуру)

Теперь сравним с java-style "бинарником" - он один и тот же будет работать без промежуточных компиляций сразу один на всех платформах. Комфортно? Да. Почем? Недорого - абстрактно чутка помедленнее чем отписать идеальный код например на компилируемом языке, собрать с идеальной оптимизацией, отпрофилировать и узкие места под каждую платформу переписать в машинных кодах. В итоге получим на пару микросекунд более быстрое формирование выпадающего меню и затюним под психологический комфорт интерфейса задержками его появление до 0.3..0.5сек)))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pfg21
ex-турист
отладить одну виртуальную машину проще, чем отладить кучу компилируемого софта.
хотя есть и JIT компиляция/оптимизация джава-кода под конкретную платформу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы