fbpx
Wikipedia

Bytecode

El bytecode es un código intermedio más abstracto que el código máquina. Habitualmente, es tratado como un archivo binario que contiene un programa ejecutable similar a un módulo objeto, que es un archivo 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, Gambas, PHP y Python. En el caso de Java se suele transmitir como bytecode a la máquina receptora, que utiliza un compilador just-in-time para compilar el bytecode en código máquina nativo antes de su ejecución, ahorrando así procesos de interpretació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-Code.

En noviembre de 2019, Mozilla, Fasty, Intel y Red Hat forman la Bytecode Alliance, una empresa que tiene por finalidad promover el uso del lenguaje WebAssembly en entornos Linux e integrando cualquier navegador; como Safari, Chrome o Firefox[1]​.

Referencias

  1. «Mozilla, Fasty, Intel y Red Hat forman la Bytecode Alliance.». 
  •   Datos: Q837330

bytecode, este, artículo, sobre, informática, detectó, siguiente, problema, favor, edítalo, para, mejorarlo, carece, fuentes, referencias, aparezcan, fuente, acreditada, este, aviso, puesto, enero, 2014, bytecode, código, intermedio, más, abstracto, código, má. En este articulo sobre informatica se detecto el siguiente problema Por favor editalo para mejorarlo Carece de fuentes o referencias que aparezcan en una fuente acreditada Este aviso fue puesto el 20 de enero de 2014 El bytecode es un codigo intermedio mas abstracto que el codigo maquina Habitualmente es tratado como un archivo binario que contiene un programa ejecutable similar a un modulo objeto que es un archivo binario producido por el compilador cuyo contenido es el codigo objeto o codigo maquina El bytecode recibe su nombre porque usualmente cada codigo de operacion tiene una longitud de un byte si bien la longitud del codigo de las instrucciones varia Cada instruccion tiene un codigo de operacion entre 0 y 255 seguido de parametros tales como los registros o las direcciones de memoria Esta seria la descripcion de un caso tipico si bien la especificacion del bytecode depende ampliamente del lenguaje Como codigo intermedio se trata de una forma de salida utilizada por los implementadores de lenguajes para reducir la dependencia respecto del hardware especifico y facilitar la interpretacion Menos frecuentemente se utiliza el bytecode como codigo intermedio en un compilador Algunos sistemas llamados traductores dinamicos o compiladores just in time traducen el bytecode a codigo maquina inmediatamente antes de su ejecucion para mejorar la velocidad de ejecucion Los programas en bytecode suelen ser interpretados por un interprete de bytecode en general llamado maquina virtual dado que es analogo a un ordenador Su ventaja es su portabilidad el mismo codigo 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 mas compacto y mas orientado a la maquina que un programa pensado para su modificacion 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 despues son ejecutados por un interprete de bytecode Entre esos lenguajes se encuentran Perl Gambas PHP y Python En el caso de Java se suele transmitir como bytecode a la maquina receptora que utiliza un compilador just in time para compilar el bytecode en codigo maquina nativo antes de su ejecucion ahorrando asi procesos de interpretacion Son asimismo interesantes los denominados p Codes similares a bytecodes pero cuyos codigos de operacion pueden constar de mas de un byte y pueden ser variables en tamano como los opcodes de muchas CPUs Estos codigos trabajan a muy alto nivel incluyendo instrucciones del estilo de imprime esta cadena o borra la pantalla Por ejemplo BASIC utiliza p Code En noviembre de 2019 Mozilla Fasty Intel y Red Hat forman la Bytecode Alliance una empresa que tiene por finalidad promover el uso del lenguaje WebAssembly en entornos Linux e integrando cualquier navegador como Safari Chrome o Firefox 1 Referencias Editar Mozilla Fasty Intel y Red Hat forman la Bytecode Alliance Datos Q837330Obtenido de https es wikipedia org w index php title Bytecode amp oldid 134396532, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos