Re: GDB and scripting languages - which

Jim Blandy
2007-02-12T17:25:23Z

Daniel Jacobowitz <drow@false.org> writes:
> On Sat, Feb 10, 2007 at 02:28:09PM +0200, Eli Zaretskii wrote:
>> > Date: Sat, 13 Jan 2007 10:31:51 +0200
>> > From: Eli Zaretskii <eliz@gnu.org>
>> > CC: gdb@sourceware.org
>> >
>> > I think adding Python would be a useful first step. It could be the
>> > last, or we could later consider Guile as well.
>>
>> On second thought, what about Lua (http://www.lua.org/)? It looks
>> like a language designed specifically for extending software packages.
>>
>> (Sorry for answering after such a long delay.)
>
> Jim wrote:
>
>> Python has more momentum than Guile in almost any way one might
>> measure it:
>
>> - number of users who are familiar with it
>> - body of large programs written in it
>> - number of modules available for reuse
>> - number of programs embedding it
>> - number of books available for learning it
>
> I found that very persuasive, and it applies to Lua, though not as
> strongly - I see a bit more done with Lua than with Guile, but it
> doesn't compare to Python. Also, I know Python, and I think a few
> others on this list do - I don't know if anyone here knows Lua.

I agree with all this.

There's a lot about Lua I like. However, it doesn't have exceptions.
My personal three language essentials are:

- type-safety (programs get errors, not segfaults)
- automatic storage management (I don't need to call 'free'), and
- exception handling (I don't need to check for an error return code
if my response will be to simply report it up to my caller)

That said, I'll bet every GDB developer reading this message had some
amendments they'd like make to my list. No matter what I write, some
reasonable programmer will have different feelings. So while I think
it's fine for us to talk about language characteristics to help each
other understand our options better, please don't feel I'm trying to
rule out Lua; if I have that right, then everyone else does, and I
think we'll collectively rule everything out. :)

This is why I've talked about secondary qualities that indicate the
breadth of general acceptance of the language: number of applications,
books, conferences, libraries and so on. If we can identify a "rough
consensus" language that almost everyone feels would not be the end of
the world, that general agreement effectively brings each person's
judgement on the specifics to bear on the choice.