What Is Java
Subject:   Interpreting source code
Date:   2006-03-15 10:47:46
From:   bothner
If you're going to wait until runtime to compile from Java bytecode to native, they ask, why not save the developer a step by interpreting not Java bytecode, but Java source?

Shameless-plug-department: The Kawa project ( has taken this approach since 1996. Kawa compiles source code in multiple languages (Scheme, XQuery, Emacs Lisp) on-the-fly into Java bytecodes. If you type an expression or load a source file it gets immediately executed. However, function definitions and other complicated expressions get automatically and invisibly compiled to bytecodes which are immediately loaded using the Java ClassLoader mechanism. (You can of course also create regular .class and .jar files.)