Original Post
So, I'm interested in adding generic scripting support to my personal class library to potentially be used in just about anything. My main priorities are speed, ease of use/integration, power/versatility of the scripting language, portability, and popularity of the language. Based on these factors, the two best candidates to me sound like Java and C#. Both are JITed languages, and so are extremely fast (when I benchmarked them a year or two ago, C# was 2/3 as fast as native code, and Java 1/2 as fast, both which are absolutely uncomparable to the performance of interpreted languages). Both are also well known languages, as well as being powerful. It's not difficult to write code in either language that's portable just about anywhere (if perhaps using a limited set of the RTL functions), especially in the application of a scripting language. What I'm less familiar with is interfacing the languages with native code (both calling C#/Java code from native code, and the reverse), and the portability/ease of use of the compilers. For a scripting language, the compiler/JIT would have to run on the host machine, compiling the scripts on startup (and perhaps caching them between executions) programmatically. Since I'm writing a very generic class library (intented to run on Windows 9x, NT, and POSIX), I need the compiler to be just as versatile. One key question is whether the C# compiler in included in Rotor (the shared source implementation) or Mono. Another question is whether there's a programmatic interface to the compilers of either language. Also, I need to know how easy (and fast) it is to interface native and JITed code, as well as provide a custom RTL which contains both a limited set of the usual RTL and any functions the scripting host may want to provide. Does anyone have the answers to these or related questions on the topic? I could do the research myself, but it's always easier to ask somebody who already knows (if such a person exists) :P