Differenze tra le versioni di "Bytecode"

18 byte aggiunti ,  6 anni fa
fix +portale
m (Annullata la modifica 68977807 di Botcrux (discussione))
(fix +portale)
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 ==
Un linguaggio intermedio come il bytecode è molto utile a coloro che realizzano [[linguaggi di programmazione]] perché riduce la dipendenza dall'[[hardware]] e facilita la creazione degli [[interprete (informatica)|interpreti]] del linguaggio stesso.
 
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.
 
==Esempi diEsempi bytecode==
*Bytecode di [[Java (linguaggio)|Java]], che viene eseguito dalla [[Macchina virtuale Java|Java Virtual Machine]]
*Il [[Common Intermediate Language]] della piattaforma .NET, eseguito dal [[Common Language Runtime|Common Language Runtime (CLR)]], la macchina virtuale .NET
*[[p-Code|La macchina p-Code]] dell'[[Pascal UCSD]], una implementazione particolare del linguaggio [[Pascal (linguaggio)|Pascal]]
*Il linguaggio di programmazione [[Icon (linguaggio)|Icon]]
 
== Note ==
{{reflist|1}}
 
== Voci correlate ==
* {{en}} [http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html Specifica della Java Virtual Machine]
 
{{portale|informatica}}
==Notes==
{{reflist|1}}
 
[[Categoria:Linguaggi di programmazione]]
143 078

contributi