If you're a member of this list, then you've *probably* downloaded the
source code for AbiWord.
If you've downloaded the source code for AbiWord, then you *probably*
noticed that the source tree is pretty big.
If you noticed that the source tree is pretty big, you *probably*
checked to find out why, and noticed that we include the entire
JavaScript engine from the Mozilla source distribution.
If you noticed JavaScript, then you *probably* noticed that the
source code is there, but it's not being built, because we're not
actually using it.
Yet.
It has been our intention all along for AbiWord, as well as the other
applications in AbiSuite, to have a scripting language. Our plan of
record has been to use JavaScript, specifically, the implementation
from Netscape. We're starting to revisit this issue. We'd like to
ask for the opinions of people on the list. It *may* result in yet
another scripting language flame war, (we hope not) but we're
asking anyway. :-)
JavaScript
--
Pros
nice syntax
good mindshare in our target market
object oriented features
code base is probably high quality, having
been used in several shipping releases of
Netscape's browser.
Cons
mindshare may be too closely associated with
web browsing object models, which we will not have
NPL license is incompatible with the GPL, resulting in
the fact that we would never be able to use any
GPL code in AbiSource projects.
no default or existing bindings to GUI toolkits
Tcl
--
Pros
easy to embed
9 year history -- code base is mature and reasonably stable
built-in bindings to Tk
Cons
ugly syntax
no built-in OO features (yes, we know about [incr Tcl])
no mindshare in our target market
terrible name (we'd have to market it as AbiScript, or something
like that)
Tk doesn't work and play well with others (we'd probably have
to write the whole app GUI in Tk)
Perl
--
Pros
doesn't matter, see the cons section
Cons
hopelessly arcane, unreadable syntax
Python
--
Pros
readable
powerful language
multiple GUI toolkit bindings (ie stuff other than its Tk default)
Cons
terrible name (we'd have to market it as AbiScript, or something
like that)
uses indenting to delimit blocks (aaack!)
no mindshare in our target market
Some of the stuff above is my opinion. Some of it is the opinion our
target market will have. For example, personally, I rather like Perl,
but its syntax is patently absurd for a target market which includes
people like my Dad, or people like the VB crowd.
Personally, my favorite choice, at the moment, is Python. However,
I'm still doing some due-diligence.
Opinions?