Un nuovo tipo di approccio: byte-code
Un ulteriore e più recente approccio alla traduzione ed esecuzione dei programmi è quello seguito dai progettisti del linguaggio Java, il cui motto è «write once, run anywhere» («scrivi il codice una sola volta per eseguirlo dappertutto»).
La portabilità dei programmi è sempre stata uno degli obiettivi perseguiti da chi progetta i linguaggi di programmazione: i programmi in linguaggio C/C++ (che pure rappresenta uno dei primi e migliori esempi di portabilità) devono essere ricompilati per essere eseguiti su computer o sistemi operativi di tipo diverso.
Il compilatore del linguaggio Java, a partire dal codice sorgente, non genera codice oggetto per uno specifico processore, ma un codice per una macchina «virtuale» denominato byte-code.
Per ogni tipo di computer attualmente in commercio, praticamente, esiste poi un programma (denominato JVM, Java Virtual Machine) che simula la macchina virtuale in grado di eseguire il byte-code.
Il processo di compilazione ed esecuzione di un programma in linguaggio Java può essere schematizzato come in figura. Con questa soluzione gli sviluppatori di software in linguaggio Java sono svincolati dalle preoccupazioni relative all’ambiente di esecuzione dei propri programmi: sarà infatti la specifica Java Virtual Machine del computer di esecuzione a garantire la corretta interpretazione del byte-code.
-
Algoritmi di compressione indice - Unary Code, Variable byte, Gamma codes, Group Variable Integer Code, Simple-9
-
Instant screw axis: un nuovo approccio allo studio del rollio e del beccheggio
-
Anni '90: un nuovo pubblico per una nuova arte
-
Progetto di un convertitore di tipo Boost