Oppure

Loading
19/08/13 10:04
Lagaslen
Scusate se non è la sezione piu adatta :hail:

Comunque, io mi sono sempre chiesto la differenza fra un interprete(es.python) e una macchina virtuale(es.Java), cioè so che l'interprete traduce le istruzioni in ling. macchina una alla volta e che la macchina virtuale esegue un bytecode .
Quindi non sono entrambi degli interpreti perchè anche il bytecode deve essere tradotto in ling. macchina? oppure la jvm lo esegue direttamente come fosse una macchina fisica?
Scusate il casino e le frasi contorte :rotfl: ma siccome ormai programmo da circa 1 anno e mezzo vorrei approfondire molto piu questo discorso :k:
Ultima modifica effettuata da Lagaslen 19/08/13 11:51
aaa
19/08/13 12:28
ZioCrocifisso
I compilatori di Java sono dei compilatori a tutti gli effetti, perché traducono un linguaggio in un altro, il bytecode (un compilatore non deve necessariamente tradurre in linguaggio macchina). La JVM invece interpreta (anche se il termine "interprete" si usa per i programmi che intepretano direttamente il codice sorgente, quindi non è appropriato per la JVM). Dunque, i linguaggi che vengono generalmente definiti come interpretati dal punto di vista dell'interfaccia seguono solo questa fase, anche se internamente possono utilizzare linguaggi intermedi, come il bytecode del Python, mentre il Java viene prima compilato, e poi interpretato.
Ultima modifica effettuata da ZioCrocifisso 19/08/13 12:32
aaa
19/08/13 12:42
Lagaslen
Grazie della risposta:k: capito tutto!
aaa