Related articles |
---|
What is byte-code ? kcc1967@gmail.com (KC) (2005-03-04) |
Re: What is byte-code ? nathan.moore@sdc.cox.net (Nathan Moore) (2005-03-05) |
Re: What is byte-code ? anton@mips.complang.tuwien.ac.at (2005-03-05) |
Re: What is byte-code ? lfinsto1@gwdg.de (Laurence Finston) (2005-03-05) |
Re: What is byte-code ? nmm1@cus.cam.ac.uk (2005-03-08) |
Re: What is byte-code ? joe@burgershack.com (Randy) (2005-03-08) |
Re: What is byte-code ? Brian.Inglis@SystematicSW.ab.ca (Brian Inglis) (2005-03-08) |
Re: What is byte-code ? torbenm@diku.dk (2005-03-08) |
Re: What is byte-code ? torbenm@diku.dk (2005-03-08) |
Re: What is byte-code ? cdc@maxnet.co.nz (Carl Cerecke) (2005-03-08) |
Re: What is byte-code ? torbenm@diku.dk (2005-03-15) |
Re: What is byte-code ? kers@hpl.hp.com (Chris Dollin) (2005-03-15) |
[13 later articles] |
From: | Randy <joe@burgershack.com> |
Newsgroups: | comp.compilers |
Date: | 8 Mar 2005 01:04:44 -0500 |
Organization: | Rice University, Houston, TX |
References: | 05-03-015 |
Keywords: | interpreter |
Posted-Date: | 08 Mar 2005 01:04:43 EST |
KC wrote:
> What's the official definition of byte-code ? Any documentation and
> book related to byte-code and byte-code compiler ? Does byte-code
> just a simple version of CPU's opcode ?
The whatis.com definition seems to be as good as any, IMHO:
http://searchsmb.techtarget.com/sDefinition/0,,sid44_gci211722,00.html
Oddly, the web definitions that I've seen mention only Java and not
Microsoft's equivalent bytecode 'standard': MSIL (the basis for .NET).
As I understand it, the goals of bytecode are:
1) Bytecode executables can run on any kind of CPU, within virtual
machines. (I suspect that bytecodes are as close to an architecture
neutral distribution format for executables as we're likely to see).
2) Bytecode executables are small and thus easy to distribute over the
net/web (smaller than equivalent binary executables, since bytecodes
lack much of the O/S-specific and library-specific linkage that are
present in native binaries).
3) Bytecode *should* be more portable across versions of O/Ses and
libraries than native executables, since resolution of the
executable's dependencies is left to runtime 'recompilation' and
linkage. In practice, however, this has not come to pass. (Java has
been too much a moving target. I know too little about .NET to pass
judgment on it, however.)
4) Bytecodes are more amenable to security oversight than are native
executables (since the virtual machine can perform checks that native
code does not yet support on commercial O/Ses or CPUs).
5) Final translation of bytecode into executable can be very fast and
can often occur concurrently with execution. In addition, most
bytecode programs are expected to be web-oriented, thus having a large
GUI component, thus requiring less in terms of execution speed (making
the added overhead of the VM less onerous).
Randy
--
Randy Crawford http://www.ruf.rice.edu/~rand rand AT rice DOT edu
Return to the
comp.compilers page.
Search the
comp.compilers archives again.