> Yeah, there's compile-to-pcode, and compile-to-native.  I'd rather have 
> compile to native; if I'm going to be compiling at all, why stop half-way?  
> It made sense with Java, because Java sourcecode was never interpretable; 
> however, with Ruby, I don't see much advantage to exchanging one VM (the 
> Ruby interpreter) for another (the Ruby bytecode interpreter).

Java compiles to bytecodes and is then potentially subject to JIT.
Bytecodes make sense because they are portable and consume less memory
that Rubys current AST style execution nodes.  I suspect bytecodes
offer an increase in performance from AST also.

GCC has an intermediate form but because Ruby is a dynamically bound
language, it's non-trivual to produce good native code.  Some form of
JIT might be possible tho'.

Justin Johnson