Bytecode


Bytecode

Bytecode

El bytecode es un código intermedio más abstracto que el código máquina. Habitualmente es tratado como un fichero binario que contiene un programa ejecutable similar a un módulo objeto, que es un fichero binario producido por el compilador cuyo contenido es el código objeto o código máquina .

El bytecode recibe su nombre porque usualmente cada código de operación tiene una longitud de un byte, si bien la longitud del código de las instrucciones varía. Cada instrucción tiene un código de operación entre 0 y 255 seguido de parámetros tales como los registros o las direcciones de memoria. Esta sería la descripción de un caso típico, si bien la especificación del bytecode depende ampliamente del lenguaje.

Como código intermedio, se trata de una forma de salida utilizada por los implementadores de lenguajes para reducir la dependencia respecto del hardware específico y facilitar la interpretación. Menos frecuentemente se utiliza el bytecode como código intermedio en un compilador. Algunos sistemas, llamados traductores dinámicos o compiladores just-in-time traducen el bytecode a código máquina inmediatamente antes de su ejecución para mejorar la velocidad de ejecución.

Los programas en bytecode suelen ser interpretados por un intérprete de bytecode (en general llamado máquina virtual, dado que es análogo a un ordenador). Su ventaja es su portabilidad: el mismo código binario puede ser ejecutado en diferentes plataformas y arquitecturas. Es la misma ventaja que presentan los lenguajes interpretados. Sin embargo, como el bytecode es en general menos abstracto, más compacto y más orientado a la máquina que un programa pensado para su modificación por humanos, su rendimiento suele ser mejor que el de los lenguajes interpretados. A causa de esa mejora en el rendimiento, muchos lenguajes interpretados, de hecho, se compilan para convertirlos en bytecode y después son ejecutados por un intérprete de bytecode. Entre esos lenguajes se encuentran Perl, PHP y Python. El código Java se suele trasmitir como bytecode a la máquina receptora, que utiliza un compilador just-in-time para traducir el bytecode en código máquina antes de su ejecución.

Son asimismo interesantes los denominados p-Codes, similares a bytecodes pero cuyos códigos de operación pueden constar de más de un byte y pueden ser variables en tamaño, como los opcodes de muchas CPUs. Estos códigos trabajan a muy alto nivel, incluyendo instrucciones del estilo de «imprime esta cadena» o «borra la pantalla». Por ejemplo, BASIC utiliza p-Codes.

Enlaces externos

Obtenido de "Bytecode"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Bytecode — is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code. Since instructions are processed by software …   Wikipedia

  • Bytecode — Le bytecode est un code intermédiaire plus concret (plus proche des instructions machines) que le code source, il n est pas directement exécutable. Il est contenu dans un fichier binaire qui représente un programme, tout comme un fichier objet… …   Wikipédia en Français

  • Bytecode — Der Bytecode ist in der Informatik eine Sammlung von Befehlen für eine virtuelle Maschine. Bei Kompilierung eines Quelltextes mancher Programmiersprachen oder Umgebungen – wie beispielsweise Java – wird nicht direkt Maschinencode,… …   Deutsch Wikipedia

  • Bytecode — El bytecode es un código intermedio más abstracto que el código máquina. Habitualmente se lo trata como a un fichero binario que contiene un programa ejecutable similar a un módulo objeto, que es un fichero binario que contiene código máquina… …   Enciclopedia Universal

  • bytecode — ● ►en n. m. ►PROG Sorte de code objet, intermédiaire entre le source et le binaire exécutable, utilisé en Java pour permettre un usage multi plateforme de ce langage. Le code n est donc pas directement compréhensible par le processeur, ce qui… …   Dictionnaire d'informatique francophone

  • bytecode —    An intermediate form of computer code produced by Java and other programming languages. Most language compilers create code that is ready to run on a specific kind of processor. Java creates the bytecode in an abstract, processor independent… …   Dictionary of networking

  • bytecode — baitinė programa statusas T sritis informatika apibrėžtis Programa, išreikšta ↑tarpine kalba, kurios leksikos elementai yra ↑baitai. Gaunama sukompiliavus programą, parašytą aukšto lygio ↑programavimo kalba. Yra artima ↑kompiuterinei kalbai.… …   Enciklopedinis kompiuterijos žodynas

  • bytecode — noun P code …   Wiktionary

  • bytecode — n. (Computers) machine language of Java (compatible with all platform) …   English contemporary dictionary

  • bytecode — /ˈbaɪtkoʊd/ (say buytkohd) noun an output code, more abstract than machine code, used as an intermediate code for a compiler. {from the fact that each operation code is one byte in length} …   Australian English dictionary