|
Authored by: al_dunsmuir on Wednesday, May 09 2012 @ 06:33 PM EDT |
Your argument is incomplete.
At that time you have only the
potential for execution - just like an ELF executable from a conventional
programming language.
To actually execute the program, either the bytecode
must be interpreted by some form of JVM (Java Virtual Machine), or
converted in whole or part to machine language by a JIT (Just In Time) compiler
closely tied to the JVM. [ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Wednesday, May 09 2012 @ 06:45 PM EDT |
>Java is not interpreted. Its compiled into bytecode.
Normally, but then normally the bytecode IS interpreted. (That's why Java is
generally called an interpreted language.)
But, to be fair, "is/isn't interpreted" is not, properly speaking,
something that can be said of a LANGUAGE. It is a characteristic of an
IMPLEMENTATION.
Another illustration: Basic was, historically, usually interpreted. But one of
the earliest implementations of Basic was a compiler. (I worked on a Basic
compiler.)
In THIS context, it's VERY important to distinguish between (1) the LANGUAGE,
(2) a SPECIFICATION of the language, and (3) an IMPLEMENTATION of the language.
Just to confuse things further, the term "Java" is frequently used
independently for PARTS of the implementation -- Java BYTECODE (intermediate
language suitable for interpretation), Java VIRTUAL MACHINE (an implementation
that interprets that bytecode), Java COMPILER (part of the implementation that
produces that bytecode.)
Google treats the Java BYTECODE as a SOURCE language--compiles it again (into a
different bytecode language--Dalvik), then interprets THAT language.
But all these are just implementation choices that have been familiar for
decades to anyone in the compiler industry--you could compile Dalvik bytecode
to, say, Intel assembly language; and then you wouldn't need an interpreter (but
you would need a language library). You make design tradeoffs for performance or
convenience or whatever.[ Reply to This | Parent | # ]
|
|
Authored by: alisonken1 on Wednesday, May 09 2012 @ 06:55 PM EDT |
However, bytecode has to be interpreted to the machine via the VM
in order to be used, so it's interpreted at some point, just not
the source code file point interpretation.
---
- Ken -
import std_disclaimer.py
Registered Linux user^W^WJohn Doe #296561
Slackin' since 1993
http://www.slackware.com
[ Reply to This | Parent | # ]
|
|
|
|
|