I am writing a graphics application in Java. Eventually I would like to build in a scripting language so things are programmable. Which language library do you recommend?
Likely suspects are:
Less likely candidates are:
The target audience are probably not hardcore programmers, so less arcane language is preferred. My guess is that JavaScript is more acceptable by them even with its quirks just because they've seen it more.
Lua seems to be popular in C/C++, but at least LuaJava requires additional .dll/.so, which makes deployment complicated.
EDIT: PhiLho wrote that there's a Java implementation of Lua called kahlua.
Related questions:
You might consider Jacl. It is based on Tcl which was originally designed to be an embeddable scripting language. So, one could argue it is much more suited for that purpose than other scripting languages that had the ability to be embedded tacked-on.
Particularly if the target audience is "not hardcore programmers", Jacl makes a fine choice. Intelligent people (and especially those without hard-wired programming prejudices) can easily pick up the Tcl syntax in a morning.
There's also BeanShell, which has the advantage of being a fully-approved JSR, and so perhaps more likely to stick around.
http://www.beanshell.org/
Lua is appreciated, among other things, by the simplicity of the language, making it easy to learn. LuaJava uses the original Lua implementation, making it complete, but as you point it, maybe delicate to install. I know at least a pure Java implementation of Lua: Kahlua. It is not complete (lacking coroutine support among other things, but one can do much without them) but perhaps already usable for your goal.
Unlike, say, Groovy, it shouldn't add much overhead to your application...