From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1279 invoked by alias); 12 Feb 2007 17:25:23 -0000 Received: (qmail 1259 invoked by uid 22791); 12 Feb 2007 17:25:21 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 12 Feb 2007 17:25:11 +0000 Received: (qmail 24174 invoked from network); 12 Feb 2007 17:25:09 -0000 Received: from unknown (HELO localhost) (jimb@127.0.0.2) by mail.codesourcery.com with ESMTPA; 12 Feb 2007 17:25:09 -0000 To: gdb@sourceware.org Subject: Re: GDB and scripting languages - which References: <20070108222005.GA27451@nevyn.them.org> <20070210203307.GA27502@nevyn.them.org> From: Jim Blandy Date: Mon, 12 Feb 2007 17:47:00 -0000 In-Reply-To: <20070210203307.GA27502@nevyn.them.org> (Daniel Jacobowitz's message of "Sat, 10 Feb 2007 15:33:07 -0500") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-02/txt/msg00081.txt.bz2 Daniel Jacobowitz 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 >> > 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.