FACTOID # 144: More than half of all doctors in Finland are female.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Bytecode" also viewed:
RECENT ARTICLES
More Recent Articles »
 

Encyclopedia > Bytecode

Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. Since it is processed by software, it is usually more abstract than machine code. Different parts of a program are often stored in separate files, similar to object modules. A Hexdump of a JPEG image. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... In computer science, a virtual machine is software that creates a virtualized environment between the computer platform and its operating system, so that the end user can operate software on an abstract machine. ... In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. ... A system of codes directly understandable by a computers CPU is termed this CPUs native or machine language. ... In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ...


Bytecode is called so because, historically, most instruction sets had one-byte opcodes, followed by zero or more parameters such as registers or memory address. It is a form of output code used by programming language implementations to reduce dependence on specific hardware (the same binary code can be executed across different platforms) and ease interpretation. After compiling to bytecode, the resulting output may be used as the input of a compiler targeting machine code, or executed directly on a virtual machine. In computer science a byte (pronounced bite) is a unit of measurement of information storage, most often consisting of eight bits. ... Microprocessors perform operations using binary bits (on/off/1or0). ... A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... An interpreter is a computer program that executes other programs. ... A diagram of the operation of a typical multi-language, multi-target compiler. ... In computer science, a virtual machine is software that creates a virtualized environment between the computer platform and its operating system, so that the end user can operate software on an abstract machine. ...


Compared to source code (intended to be human-readable), bytecodes are less abstract, more compact, and more computer-centric. For example, bytecodes encode the results of semantic analysis such as the scope of each variable access (that is, whether the variable is global or local). Thus, performance is usually better than interpretation of source code. Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ... In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. ... A diagram of the operation of a typical multi-language, multi-target compiler. ...

Contents

Execution

A bytecode program is normally executed by parsing the instructions one at a time. This kind of bytecode interpreter is very portable. Some systems, called dynamic translators, or "just-in-time" (JIT) compilers, translate bytecode into machine language as necessary at runtime: this makes the virtual machine unportable, but doesn't lose the portability of the bytecode itself. For example, Java and Smalltalk code is typically stored in bytecoded format, which is typically then JIT compiled to translate the bytecode to machine code before execution. This introduces a delay before a program is run, when bytecode is compiled to native machine code, but improves execution speed considerably compared to interpretation - normally by several times. For other uses, see Just In Time. ... In computer science, runtime or run time describes the operation of a computer program, the duration of its execution, from beginning to termination (compare compile time). ... “Java language” redirects here. ... Smalltalk is a dynamically typed object oriented programming language designed at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s. ...


Because of its performance advantage, today many language implementations execute a program in two phases, first compiling the source code into bytecode, and then passing them to the virtual machine. Therefore, there are virtual machines for Java, Python, PHP[1], Forth, and Tcl. The current reference implementation of Perl and Ruby programming language instead resembles more that of an interpreter, since it works by walking the abstract syntax tree derived from the source code. “Java language” redirects here. ... Python is a high-level programming language first released by Guido van Rossum in 1991. ... For other uses, see PHP (disambiguation). ... Forth is a programming language and programming environment, initially developed by Charles H. Moore at the US National Radio Astronomy Observatory in the early 1970s. ... Tcl (originally from Tool Command Language, but nonetheless conventionally rendered as Tcl rather than TCL; and pronounced tickle) is a scripting language created by John Ousterhout. ... Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ... Ruby is a reflective, object-oriented programming language. ... In computer science, an abstract syntax tree (AST) is a finite, labeled, directed tree, where the internal nodes are labeled by operators, and the leaf nodes represent the operands of the node operators. ...


Examples

The O-code machine is a virtual machine that was developed by Martin Richards in the late 1960s to give machine independence to BCPL, the low-level forerunner to C and C++. The concept behind the O-Code machine was to create O-code output (O stands for Object) through... BCPL (Basic Combined Programming Language) is a computer programming language that was designed by Martin Richards of the University of Cambridge (1966) as a response to difficulties with its predecessor CPL during the 1960s. ... In computer programming, a P-code machine or pseudo-code machine is a specification of a cpu whose instructions are expected to be executed in software rather than in hardware (ie, interpreted). ... UCSD Pascal was a specific implementation of the programming language Pascal which used the p-Code machine architecture. ... Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ... Smalltalk is a dynamically typed object oriented programming language designed at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s. ... Java bytecode is the form of instructions that the Java virtual machine executes. ... A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model. ... The ASM library is a project of the ObjectWeb consortium. ... The Byte Code Engineering Library (BCEL) is a project sponsored by the Apache Foundation under their Jakarta charter to provide a simple API for decomposing, modifying, and recomposing binary Java classes (I.e. ... This page is a candidate for speedy deletion. ... EiffelStudio is a development environment for the Eiffel programming language developed and distributed by Eiffel Software. ... Eiffel is an ISO-standardized object-oriented programming language designed for extensibility, reusability, reliability and programmer productivity. ... In Microsoft Windows terminology, managed code is computer instructions — that is, code — executed by a CLI-compliant virtual machine, such as Microsofts . ... The Microsoft . ... Common Intermediate Language (CIL, pronounced either sill or kill) (formerly called Microsoft Intermediate Language or MSIL) is the lowest-level human-readable programming language in the Common Language Infrastructure and in the . ... The Common Language Runtime (CLR) is the virtual machine component of Microsofts . ... The Byte Code Engineering Library (BCEL) is a project sponsored by the Apache Foundation under their Jakarta charter to provide a simple API for decomposing, modifying, and recomposing binary Java classes (I.e. ... Scheme 48 is a free software Scheme implementation using a bytecode interpreter. ... CLISP is a Common Lisp implementation. ... Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard X3. ... CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University. ... Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard X3. ... Icon is a very high-level programming language featuring goal directed execution and excellent facilities for managing strings and textual patterns. ... Objective Caml, also known as OCaml or OCaml for short, is an advanced programming language that is part of the ML family. ... Parrot is a register-based virtual machine being developed using the C programming language and intended to run dynamic languages efficiently. ... YARV (Yet Another Ruby VM) is the new bytecode interpreter that is being developed for the Ruby programming language by Koichi Sasada. ... // Rubinius is a next-generation virtual machine and compiler for Ruby created by Evan Phoenix. ... Ruby is a reflective, dynamic, object-oriented programming language. ... Zork universe Zork games Zork Anthology Zork trilogy Zork I   Zork II   Zork III Beyond Zork   Zork Zero Enchanter trilogy Enchanter   Sorcerer   Spellbreaker Other games Wishbringer   Return to Zork Zork: Nemesis   Zork Grand Inquisitor Zork: The Undiscovered Underground Topics in Zork Encyclopedia Frobozzica Characters   Kings   Creatures Timeline   Magic   Calendar Zorkmid... The Z machine at Sandia National Laboratory. ... C to Java Virtual Machine compilers attempt to marry the highly popular C language with the platform independent Java Virtual Machine for Write Once Run Anywhere (WORA) using the C language. ... SWEET16 is an interpreted language invented by Steve Wozniak and implemented as part of the Integer BASIC ROM in the Apple II computer. ... Spin is a multitasking object oriented high level programming language created by Parallax, Inc. ... Parallax, Inc. ... The Parallax Propeller, or P8X32 as this is its official designator, is a multiprocessor microcontroller with eight 32bit RISC CPU cores. ... It has been suggested that this article or section be merged with embedded microprocessor. ... Adobe Flash, or simply Flash, refers to both the Adobe Flash Player, and to the Adobe Flash Professional multimedia authoring program. ...

References

  1. ^ Although PHP opcodes are generated each time the program is launched, and are always interpreted and not Just-In-Time compiled

For other uses, see PHP (disambiguation). ... For other uses, see Just In Time. ...

See also

Look up bytecode in Wiktionary, the free dictionary.

  Results from FactBites:
 
Bytecode - Wikipedia, the free encyclopedia (462 words)
Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware.
After compiling to bytecode, the resulting output may be used as the input of a compiler targeting machine code, or executed directly on a virtual machine.
For example, bytecodes encode the results of semantic analysis such as the scope of each variable access (that is, whether the variable is global or local).
Java bytecode: (2872 words)
Understanding bytecode and what bytecode is likely to be generated by a Java compiler helps the Java programmer in the same way that knowledge of assembler helps the C or C++ programmer.
The first five lines of the bytecode file list the file name that is used to generate this code, the class definition, its inheritance (by default, all classes inherit from java.lang.Object), and its constructors and methods.
You might notice on closer inspection of the bytecode that certain opcodes are prefixed with an `a' or an `i'.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.