Bytecode

Bytecode è il codice oggetto del computer che viene elaborato da un programma, di solito indicato come macchina virtuale, piuttosto che dalla macchina "reale" del computer, il processore hardware. La macchina virtuale converte ogni istruzione della macchina generalizzata in un'istruzione o istruzioni specifiche della macchina che il processore di questo computer comprenderà. Bytecode è il risultato della compilazione del codice sorgente scritto in un linguaggio che supporta questo approccio. La maggior parte dei linguaggi per computer, come C e C ++, richiedono un compilatore separato per ciascuna piattaforma del computer, ovvero per ogni sistema operativo del computer e il set di istruzioni hardware su cui è costruito. Windows e la linea Intel di architetture a microprocessore sono un'unica piattaforma; Apple e i processori PowerPC sono un altro. Utilizzando un linguaggio fornito con una macchina virtuale per ciascuna piattaforma, le istruzioni della lingua di origine devono essere compilate una sola volta e verranno quindi eseguite su qualsiasi piattaforma.

Il linguaggio più noto oggi che utilizza il bytecode e l'approccio della macchina virtuale è Java. Il linguaggio LISP, utilizzato nelle applicazioni di intelligenza artificiale, è un linguaggio precedente che compilava il bytecode. Altre lingue che utilizzano bytecode o un approccio simile includono Icon e Prolog.

Invece di essere interpretato un'istruzione alla volta, il bytecode Java può essere ricompilato su ogni particolare piattaforma di sistema da un compilatore just-in-time. Di solito, questo consentirà al programma Java di funzionare più velocemente. In Java, il bytecode è contenuto in un file binario con suffisso .CLASS.