2 871 353
contributi
(Aggiunto riferimento a linguaggio Gambas) |
m (Bot, replaced: HotSpot → Hotspot (telematica)) |
||
In [[informatica]], il '''bytecode''' è un linguaggio intermedio più astratto tra il [[linguaggio macchina]] e il [[linguaggio di programmazione]], usato per descrivere le operazioni che costituiscono un [[Programma (informatica)|programma]]. È così chiamato perché spesso le operazioni hanno un codice che occupa un solo [[byte]], anche se la lunghezza dell'intera [[istruzione (informatica)|istruzione]] può variare perché ogni operazione ha un numero specifico di parametri su cui operare. I parametri di queste operazioni possono consistere di registri o [[indirizzo di memoria|indirizzi di memoria]], un po' come accade per il linguaggio macchina.
==Descrizione==
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 [[
Oggi, per migliorare la velocità di esecuzione, anche molti linguaggi dinamici, come [[PHP]], [[Python]] o [[Tcl]] fanno uso del bytecode in maniera più o meno esplicita a seconda delle implementazioni. Essi traducono il programma in bytecode e poi lo interpretano tramite una macchina virtuale. I linguaggi [[Ruby|Ruby 1.8]] o [[Perl]]<ref>
Un tipo particolare di bytecode è costituito dai [[p-Code]], che possono occupare più di un singolo byte e avere istruzioni di varie dimensioni, un po' come le [[opcode]] di molte [[CPU]]. I p-Code funzionano a un livello di astrazione molto più alto rispetto ai bytecode, essi, ad esempio, possono avere operazioni tipo "stampa questa stringa" o "pulisci lo schermo". Sia il linguaggio [[BASIC]] che alcune versioni del [[Pascal (linguaggio)|Pascal]] usano i p-Code.
== Voci correlate ==
* [[
== Collegamenti esterni ==
|