Re: Small embeddable scripting language ?



Biswapesh Chattopadhyay <biswapesh_chatterjee tcscal co in> writes:

> I'm looking for a scripting engine for Anjuta. It would be used for
> extending functionality through user-defined tools as well as a
> templating language for wizards. The requirements are:
> 
> 1) Small (since we'll probably have to distribute it with Anjuta)
> 2) Reasonably fast
> 3) Embeddable from C programs
> 4) Ability to register/call C functions
> 5) Free
> 
> My guess is that we are not the first project looking for this since it
> seems to be a pretty obvious thing to do once things get bigger than a
> certain size. So far, I like Lua (http://www.lua.org/) - however, the
> syntax seems a bit weird - I'd prefer a minimal learning curve for
> people (including me).
> 
> So, my question is: is there any 'official' GNOME policy for this ? If
> not, what do you suggest ? What did porojects facing a similar situation
> choose ? Can someone point me to a reasonably simple implementation ?

I'm to disagree with a lot of other people on this thread and 
say "don't make it configurable. Pick one, require it".

Why?

 - If you make it configurable, everybody will spend all their
   time rewriting other people's scripts in their favorite
   language...

 - If you make it configurable, you can't depend on it in
   for core functionality. If scripting works well, you'll
   soon want to write a lot of stuff in the scripting language.

 - If you make it configurable, you'll quickly have 5 sets
   of bindings, 4 of which are broken at any one point 
   of time, and a big maintenance headache.

The GIMP seems to be an example what _not_ to do. In GIMP-1.0,
the scripting language of choice was Scheme. In GIMP-1.2,
Perl became popular. Now people are redoing everything in
Python...

As for which one? I don't think it matters a lot, but if you
pick something people already know and use, you'll have more 
people using it and less maintainence problems. 

(A custom language like Sawfish's rep is definitely worst
from this perspective.)

Python isn't small but people have it, so you shouldn't
need to distribute it with Anjuta. And it has the advantage
of being both friendly to novice programmers (and once they
get over the white space thing) experienced programmers.

And it has the best GTK+ bindings of any interpreted language 
at the moment, which may be another factor.

Regards,
                                        Owen



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]