Thus spake swampwallaby:
Tim and I where discussing scripting languages for Vassal 4, plus what
is going into Vassal 3.2. I had planned to introduce scripting into v3.2
using beanshell (i.e. Java) , but it will be incredibly confusing to
have 2 different scripting languages in the two versions.
If we can come to a decision on the V4 scripting language, I think I
should change over and use it as the v3.2 scripting laguange also. This
will provide consistency accros the versions and allow module developers
to start ‘training up’ prior to V4.
Tim mentioned that Python and Lua seem to be the front runners. Both
have Java interfaces that I can use to build them into v3.2.
So what is it to be? I have no preference, not having used either.
Unfortunately, I think we won’t be able to get a good idea of which
will be more appropriate until the C++ API that they’ll have access
to is defined, so we can see what default scrips for existing traits
would be like in each language.
Instead of immediately turning to 3.2 work next week, I could try
to write down a design description for all of this that we could
I’m a bit dubious on the point about getting module developers familiar
with a scripting language for 3.2—one one hand, I get your point about
synatx familiarity, but on the other hand, the tasks to carry out in
the scripts will be quite different between versions…
I did some reading about Lua and Pythjon this morning:
stackoverflow.com/questions/3561 … -or-python
thinkbeforetype.com/2010/09/12/l … -language/
forums.xkcd.com/viewtopic.php?f= … w=previous
Two things I picked up on which I see as warts in Lua are the 1-based
arrays and default global scoping. (That second I think will mess up
novices; the first will mess up everyone.)
I came across this, which was also interesting, and would seem to be
applicable regardless of which scripting language we choose, even though
the author is speaking about Python only:
twistedmatrix.com/users/glyp … endit.html
I’m don’t have a clear opinion on this last one. Food for thought.