On Tuesday, 18 December 2012 at 18:11:37 UTC, Walter Bright wrote:
Javascript proves that bytecode is not required for "write
once, run everywhere", which was one of the pitches for
bytecode.
What is required for w.o.r.e. is a specification for the source
code that precludes undefined and implementation defined
behavior.
Yes, bytecode isn't strictly required, but it's certainly
desirable. Bytecode is much easier to interpret, much easier to
compile to, and more compact.
The downside of bytecode is loss of high-level meaning... but
that depends on the bytecode. There's nothing stopping the
bytecode from being a serialised AST (actually, that would be
ideal).
Note also that Typescript compiles to Javascript. I suspect
there are other languages that do so, too.
There are lots. It's probably the most compiled-to high level
language language out there (including C).