Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@codesourcery.com>
To: Robert Dewar <dewar@adacore.com>
Cc: Eli Zaretskii <eliz@gnu.org>,  gdb@sourceware.org
Subject: Re: GDB and scripting languages - which
Date: Mon, 19 Feb 2007 22:17:00 -0000	[thread overview]
Message-ID: <m38xet4z9b.fsf@codesourcery.com> (raw)
In-Reply-To: <45D70BFD.60300@adacore.com>


Robert Dewar <dewar@adacore.com> writes:
> Daniel Jacobowitz wrote:
>
>> I don't think we entirely know how we're going to use this yet.  I
>> have no plans to move C parts to a scripting language - I think that
>> the scripting language should be optional, at least for one release,
>> until we've seen how useful it is.  What happens after that is harder
>> to say.
>
> Seems reasonable to me. In the long run, we may end up implementing
> new features in GDB in the scripting language if that is more
> convenient, so it may end up not being just a user feature.

Incremental changes are the way to go; I don't see that reimplementing
any part of GDB needs to be part of the original plan.

That said: my long-term test of whether an extension language's
integration has been done right is that you *prefer* to implement new
features in the extension language over C whenever possible, just
because it's so much easier and cleaner, and because it doesn't carry
significant disadvantages for users.  In GNU Emacs that's definitely
the case: if you don't need to muck about with redisplay internals or
process control or any of the other essentials, it's obvious that you
do it in Lisp.

That condition holds when the fundamental facilities of the
application (in Emacs: buffers, strings, windows; in GDB: lexical
blocks, source code locations, types, variables, values, frames,
threads) are well-exported enough that you *can* get the job done, and
that the extension language bindings are clean enough that it's
*easier* to get the job done.

The folks doing the first Python Subversion bindings were surprised to
find that simply exporting the C functions to Python in a direct way
produced an interface that just didn't feel right in Python: you were
always worried about managing storage and so on.  Good extension
language bindings preserve the scripting language's common idioms.
(For example: if you're managing reference counts in your scripts,
something is wrong.  If buggy scripts segfault, something is wrong.)


  reply	other threads:[~2007-02-19 21:24 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-08 22:20 Daniel Jacobowitz
2007-01-08 22:39 ` Kip Macy
2007-01-08 22:42   ` Daniel Jacobowitz
2007-01-08 23:03     ` Kip Macy
2007-01-08 22:40 ` Bob Rossi
2007-01-09 20:11 ` Jim Blandy
2007-01-09 20:23   ` Bob Rossi
2007-01-09 21:37     ` Paul Koning
2007-01-09 21:42       ` Daniel Jacobowitz
2007-01-09 21:48       ` Nick Roberts
2007-01-09 21:53         ` Daniel Jacobowitz
2007-01-11  4:31           ` Nick Roberts
2007-01-11  5:06             ` Daniel Jacobowitz
2007-01-13  8:30           ` Eli Zaretskii
2007-01-09 21:55         ` Kip Macy
2007-01-11 14:56       ` Robert Dewar
2007-01-11 15:07         ` Robert Dewar
2007-01-09 20:30   ` Mark Kettenis
2007-01-13  8:32 ` Eli Zaretskii
2007-02-10 12:28   ` Eli Zaretskii
2007-02-10 18:10     ` Pedro Alves
2007-02-10 20:33     ` Daniel Jacobowitz
2007-02-12 17:47       ` Jim Blandy
2007-02-12 21:36         ` Eli Zaretskii
2007-02-12 21:59           ` Robert Dewar
2007-02-12 22:07             ` Daniel Jacobowitz
2007-02-12 22:07               ` Robert Dewar
2007-02-14  5:57           ` Jim Blandy
2007-02-14 15:42             ` Eli Zaretskii
2007-02-14 16:01               ` Paul Koning
2007-02-14 17:50                 ` Eli Zaretskii
2007-02-14 16:06               ` Daniel Jacobowitz
2007-02-14 18:01                 ` Eli Zaretskii
2007-02-14 18:45                   ` Daniel Jacobowitz
2007-02-14 17:37               ` Robert Dewar
2007-02-14 18:24                 ` Eli Zaretskii
2007-02-14 18:29                   ` Robert Dewar
2007-02-14 18:33                     ` Eli Zaretskii
2007-02-14 18:34                       ` Robert Dewar
2007-02-14 20:14                     ` Jim Blandy
2007-02-14 20:56                       ` Robert Dewar
2007-02-14 21:47                         ` Jim Blandy
2007-02-14 21:23                       ` Jim Blandy
2007-02-14 21:46                         ` Robert Dewar
2007-02-14 20:10               ` Jim Blandy
2007-02-15  1:03                 ` Gaius Mulley
2007-02-17 13:53                 ` Eli Zaretskii
2007-02-17 14:07                   ` Daniel Jacobowitz
2007-02-18  4:11                     ` Robert Dewar
2007-02-19 22:17                       ` Jim Blandy [this message]
2007-01-15 18:29 Kaz Kylheku
2007-01-15 21:20 ` Eli Zaretskii
2007-01-16  0:17   ` Kip Macy
2007-01-17 19:09 ` Jim Blandy
2007-01-16  0:38 Kaz Kylheku
2007-01-17 19:24 ` Jim Blandy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m38xet4z9b.fsf@codesourcery.com \
    --to=jimb@codesourcery.com \
    --cc=dewar@adacore.com \
    --cc=eliz@gnu.org \
    --cc=gdb@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox