From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31488 invoked by alias); 12 Feb 2007 20:35:12 -0000 Received: (qmail 31476 invoked by uid 22791); 12 Feb 2007 20:35:11 -0000 X-Spam-Check-By: sourceware.org Received: from heller.inter.net.il (HELO heller.inter.net.il) (213.8.233.23) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 12 Feb 2007 20:35:04 +0000 Received: from HOME-C4E4A596F7 (IGLD-84-228-166-24.inter.net.il [84.228.166.24]) by heller.inter.net.il (MOS 3.7.3a-GA) with ESMTP id BWB02394 (AUTH halo1); Mon, 12 Feb 2007 22:34:50 +0200 (IST) Date: Mon, 12 Feb 2007 21:36:00 -0000 Message-Id: From: Eli Zaretskii To: Jim Blandy CC: gdb@sourceware.org In-reply-to: (message from Jim Blandy on Mon, 12 Feb 2007 09:25:09 -0800) Subject: Re: GDB and scripting languages - which Reply-to: Eli Zaretskii References: <20070108222005.GA27451@nevyn.them.org> <20070210203307.GA27502@nevyn.them.org> 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/msg00086.txt.bz2 > From: Jim Blandy > Date: Mon, 12 Feb 2007 09:25:09 -0800 > > There's a lot about Lua I like. However, it doesn't have exceptions. I think you are mistaken: Lua does have exceptions, it just calls them ``fallbacks''. > 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) By type-safety, do you mean that variables can hold different types of objects, and programs that apply operators to operands of wrong types are treated gracefully, then I think Lua qualifies. Anyway, two advantages of Lua are: . It was designed from ground up to be primarily an extension language, not a general-purpose language that just happens to have C bindings for its interpreter; therefore it is small and efficient (by a large factor compared to Tcl, for example). . It's typeless and generally lacks the clutter that more ``complete'' programming languages require: type declarations, memory allocations, initialization before use, etc.