On Nov 29, 2012, at 8:48 AM, Ted Dunning <[EMAIL PROTECTED]> wrote:
> The Janino API meant that the code
> required to compile an expression is tiny and to the point and evaluation
> of the expression is extremely easy. The fact that the code goes directly
> to JVM byte codes means that all of the power of the JVM's JIT will be used
> to make the evaluations go fast.
I've been using Janino too. I'm a big fan. A positive that you didn't mention is its classloader support: you don't need to worry about generating each statement into different namespaces because the classloader makes the code go away when you're done with it.
I'll point out one negative. Janino has not been upgraded beyond the JDK 1.4 language level. This means that you have to deal with autoboxing and generics yourself. This made the code considerably more verbose. Janino's development activity is low, so I doubt that anyone will upgrade it to use lambdas, extension methods and method handles.