Question

I'm looking for a scripting language that works on 32-bit and 64-bit machines as well as on Windows and Linux. I will be embedding it into a C++ application so I prefer it to be natively written in C++ rather than C. I also would prefer the script to have thread/asynchronous support.

So far the languages that I have looked at are GameMonkey, Lua, and V8 JavaScript Engine. V8 JavaScript has the most appeal so far. I don't really want to use GameMonkey because AFAIK it doesn't support 64-bit addressing. Lua is written in C so I would probably use the C++ wrapper, but I really don't like mixing C and C++ code.

So are there some other alternatives that I could look at?

Was it helpful?

Solution

I say Lua. It's ultraportable (It even runs under PalmOS, WindowsCE and DOS!), small (200-300k), fast and it is very easy to interface it with C/C++.

Also, Michael Pall makes amazing progress with his LUA JIT implementation. His current beta-4 supports x86 and x86_64 jitting and beats the crap out of almost every interpreter language I know: http://luajit.org/

OTHER TIPS

I personally prefer Lua over others. Maybe because it's used by WoW and I do my own tweaks for WoW addons. But I've seen many opinions that is good, even on SO.

Maybe Falcon, ChaiScript, IO or even AngelScript might match your requirements?

You could also use Squirrel, it is C++, with a C/Java-like syntax, supporting OO (even class inheritance) and many neat things. It is in par with Lua in terms of speed, but the code size once compiled is slightly bigger.

If you are writing your program in C++ you might prefer it over Lua, and the syntax is much more appealing (to the eye and your productivity if you are writing C++ code often).

If you use qt you could use qtscript. Otherwise python might be a good idea.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top