Why Bytecode?
Maneesh Yadav
97yadavm@scar.utoronto.ca
Fri, 06 Feb 1998 20:09:09 -0600
Eric W. Biederman wrote:
> >>>>> "MY" == Maneesh Yadav <97yadavm@scar.utoronto.ca> writes:
>
> MY> OK, this may be a stupid comment, but I can't figure out a good answer.
> MY> Why is that VM's like java impliment their thing with a universal
> MY> bytecode?
>
> Efficiency, and portability. A byte code is a no brainer to
> interpret, just do a switch on the byte code, and go to the right
> place to interpret that.
>
I find it hard to believe that writing an java interpeter is as easy as writing
a big switch statement in a loop.
> Also basic optimizations can be done ahead of time.
>
Certain optimizations that work on one processers may not optimize well on
another, past the algorithm level, (take branch prediction for instance on a 486
pentium and ppro)
> Besides I haven't seen a `universal' bytecode.
>
> MY> Why not concentrate on a VM with a readable language with a JIT and save
> MY> space by leaving it up to a compression algo.?
>
> MY> In order to prevent the code stealing, mangled sources could be used...
>
> Code's copyrighted so why do you need to worry about code stealing?
>
Oh yeah, I forgot it's a perfect world with perfect programmers :-)....
> MY> I realize that a bytecode is good since it resembles a processers
> MY> instruction set nad is small. But why restrict a language to only work
> MY> with today's processing paradigms (who knows what's next). Surely a
> MY> good HLL leaves more room for the future.
>
> It's expedient, simple, and well tested. When that future comes you
> upgrade your virtual machine.
>
That's what I'm saying we could possibly prevent by not using a bytecode, no one
likes to upgrade unless they have to....
> MY> Doesn't bytcode just put an unessecary step in between
> MY> idea-> language->program?
>
> No. It just specifies the form.
>
Couldn't that be done more elegantly in an HLL?
> Eric