И проблема, которую решили виртуальные машины, не в том, как переносить код, а скорее как сделать жизнь программиста проще. И джава с этим неплохо, кмк, справилась
Не очень понятно, почему проблемы программиста не могли решить технологии в духе Juice Франца. Без виртуальной машины, но зато с AST-подобным представлением (почти в духе WASM!) и с AOT-компиляцией :)