Из объектно-ориентированных языков, которые я знаю, почти все, кроме C ++ и Objective-C, компилируются в байт-код, работающий на какой-то виртуальной машине.Почему так много разных языков остановились на компиляции в байт-код, а не в машинный код? Возможно ли иметь высокоуровневый язык ООП, управляемый памятью, который скомпилирован в машинный код?
Редактировать: Я знаю, что многоплатформенная поддержка часто продвигается как преимущество этого подхода. Однако вполне возможно скомпилировать изначально на нескольких платформах, не создавая новый компилятор для каждой платформы. Например, можно испустить код C, а затем скомпилировать его с помощью GCC.