Bytecode: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Aggiunta di Smalltalk come primo bytecode |
mNessun oggetto della modifica |
||
Riga 9:
La prima implementazione di compilatore da codice sorgente a bytecode, nonché di interprete di bytecode, è stato il sistema [[Smalltalk]], sviluppato negli [[anni 1970]] al [[Xerox Palo Alto Research Center|centro di ricerca di Palo Alto della Xerox]].
Il linguaggio più famoso tra quelli che fanno uso del bytecode è [[Java (linguaggio)|Java]]. Java ha sia una macchina virtuale ([[Macchina virtuale Java|Java Virtual Machine]]) che interpreta il codice bytecode sia un compilatore just-in-time che traduce il bytecode in linguaggio macchina. La piattaforma [[.NET_framework|.NET]], e quindi anche il linguaggio [[C_sharp|C#]], ha a disposizione tecniche simili a quelle del linguaggio Java.
Oggi, per migliorare la velocità di esecuzione, anche molti linguaggi interpretati, come [[Perl]], [[PHP]] o [[Python]], fanno uso del bytecode. Essi traducono il programma in bytecode e poi lo interpretano tramite una macchina virtuale. Il linguaggio [[Ruby]], invece, non usa il bytecode, ma traduce il codice in una struttura sintattica ad albero che ricorda molto la rappresentazione intermedia che si usa nei compilatori, tale struttura viene poi usata dall'interprete per eseguire il programma.
Riga 16:
==Esempi di bytecode==
*Bytecode di [[Java (linguaggio)|Java]], che viene eseguito dalla [[Macchina virtuale Java|Java Virtual Machine]]
*Il [[Common Intermediate Language]] della piattaforma [[.NET_framework|.NET]], eseguito dal [[Common Language Runtime|Common Language Runtime (CLR)]], la macchina virtuale .NET
*[[CLISP]], una implementazione del [[Common Lisp]] il cui compilatore produce solo bytecode
|