Bytecode: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: accenti e modifiche minori |
m wl P-Code |
||
(29 versioni intermedie di 22 utenti non mostrate) | |||
Riga 1:
In [[informatica]], il '''bytecode''' è un linguaggio intermedio più astratto
==Descrizione==▼
▲== 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.
Il bytecode può anche essere usato come [[rappresentazione intermedia (informatica)|rappresentazione intermedia]] di un [[Programma (informatica)|programma]] da far compilare a un tipo speciale di [[compilatore]], chiamato [[compilatore just-in-time]] il quale traduce il bytecode in linguaggio macchina immediatamente prima dell'[[esecuzione (informatica)|esecuzione]] del programma stesso, per velocizzarne l'esecuzione.
Un programma in bytecode è eseguito mediante un secondo programma che ne interpreta le istruzioni. Questo [[Interprete (informatica)|interprete]] è spesso indicato con il termine [[macchina virtuale]], in quanto può essere visto dal [[programmatore]] come un [[computer]] astratto che realizza al suo interno gran parte delle funzionalità di un computer reale. Questa astrazione consente di scrivere programmi ''[[portabilità|portabili]]'' e cioè architettati in modo tale da poter essere eseguiti su diversi tipi di [[Sistema operativo|sistemi operativi]] e di [[Architettura (computer)|architetture hardware]]. Questo è un vantaggio che hanno anche i [[Interprete (informatica)|linguaggi interpretati]], tuttavia un interprete di bytecode risulta essere molto più veloce di un interprete di un [[linguaggio di programmazione ad alto livello]]
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 di programmazione)|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
Un tipo particolare di bytecode è costituito dai [[
==
* Bytecode di [[Java (linguaggio di programmazione)|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
* [[CLISP]], una implementazione del [[Common Lisp]] il cui compilatore produce solo bytecode
* [[CMUCL]], una implementazione del [[Common Lisp]] che può produrre sia bytecode che codice macchina
* Il bytecode di molte implementazioni del linguaggio di programmazione [[Smalltalk]]
* Il linguaggio [[Ocaml]], opzionalmente il compilatore può produrre una forma di bytecode molto compatta
* La [[O-code|
* La [[p-Code|
* Il linguaggio di programmazione [[Icon (linguaggio)|Icon]]
== Note ==
<references/>
== Voci correlate ==
Riga 32 ⟶ 34:
== Collegamenti esterni ==
* {{FOLDOC}}
* {{cita web|1=http://www.javaworld.com/javaworld/jw-09-1996/jw-09-bytecodes.html|2=Descrizione del bytecode di Java|lingua=en|accesso=20 agosto 2005|urlarchivio=https://web.archive.org/web/20050806005646/http://www.javaworld.com/javaworld/jw-09-1996/jw-09-bytecodes.html|dataarchivio=6 agosto 2005|urlmorto=sì}}
* {{
{{portale|informatica}}
[[Categoria:Linguaggi di programmazione]]▼
▲[[Categoria:Linguaggi di programmazione]]
|