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?



Reply via email to