Molte macchine virtuali eseguono un linguaggio di forma binaria, noto come 'bytecode', che viene assemblato da un linguaggio 'assembly' leggibile dall'uomo.
Ad esempio le istruzioni di assemblaggio push 1 push 2 add
sono tradotte (credo) in una serie di uni e zeri, che viene poi eseguita dalla VM.
Perché? Perché le macchine virtuali e la JVM come esempio non eseguono direttamente le istruzioni di assemblaggio?
Non hanno la limitazione dei computer fisici che possono gestire solo uno e zero. La JVM può benissimo prendere istruzioni testuali come push 1 push 2
ed eseguirle così come sono. Perché il passaggio aggiuntivo della compilazione?