comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Emacs vs GPS vs Eclipse, Ada vs Lisp vs Lua vs Java
Date: Mon, 14 Mar 2011 14:54:24 +0100
Date: 2011-03-14T14:54:24+01:00	[thread overview]
Message-ID: <7rrt9ew3gxcd$.1toevffydkhuw$.dlg@40tude.net> (raw)
In-Reply-To: 82vczlvrb4.fsf@stephe-leake.org

On Mon, 14 Mar 2011 08:07:27 -0400, Stephen Leake wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>>>> You can start GPS in a command mode listening for connections from the
>>>> program being debugged and navigate the project sources from there. (It is
>>>> a huge help when debugging GtkAda applications.) You can walk the call
>>>> stack from an exception handler or at any point you wanted, without messing
>>>> up with gdb (which does not work anyway).
> 
> This says you think GPS is a good debugger, while gdb is not. That
> doesn't make any sense, since GPS uses gdb as a back-end.

No it only says that GPS can be used to navigate the code programmatically.

>>>> you may want to have some tracing tool. GPS gives you an opportunity
>>>> to browse the sources while tracing.
>>> 
>>> That capability is based on gdb reporting the source line relevant to
>>> the current code position.
>>
>> No. It is based on the debugging information. You need not to have gdb in
>> order to use GNAT.Traceback.Symbolic.
> 
> Well, yes. But is that what GPS actually does while debugging?

It waits for an input or a command.

>>>>> But I have debugged GtkAda programs at that level, and it is not nearly
>>>>> as productive (for the task of implementing simple GUIs for programmer
>>>>> tools) as the Emacs environment. Mostly because the edit/compile/test
>>>>> cycle for a single subprogram is much faster in the Emacs environment.
>>>>
>>>> I am not sure how it can be faster than in GPS: F4, shift+F2. 
>>> 
>>> That's just the first keystrokes. How long does it take after that
>>> before the results are known?
>>
>> As long as GNAT gets it compiled.
> 
> Yes, which is a relatively long time.

Does Emacs compile Ada programs by itself, without GNAT?
 
> Because GPS is the program being debugged. The point of this discussion
> is developing additional IDE features, in particular a monotone
> front-end.

OK, I didn't understand that you wanted to extend GPS. I meant using GPS
for developing Ada programs. I didn't want to steal the AdaCore's bread...

>>>> Debugging GtkAda with gdb cannot work, because GTK does not use
>>>> exceptions to indicate errors. 
>>> 
>>> You can still set break points in the error handling code.
>>
>> No, I cannot because it is in glib, gobject or any of other C libraries for
>> many of which I don't even have the source code. 
> 
> That's not GPS's fault, that's yours. The libraries you mention are
> open source; why don't you have the code. 

Because I know that the error is not there.

>> I do visual tracing, i.e. the output is made into a GTK window rather than
>> into a file. The most useful part is done from a log handler (see
>> Glib.Messages). It also stops the program, before it crashes. 
> 
> How can user written output stop the program? Apparently the code does
> something more than just output.

GTK is single threaded. If you don't return from a signal handler
everything is frozen.

> I am trying to discuss this assertion:
> 
> Developing user-interactive GUI add-ons for programming IDEs is better
> using elisp in Emacs (with Emacs as the target IDE) than using Ada in
> GPS (with GPS as the target IDE).
> 
> If you have a point relevant to that, I'd like to hear it.

Sorry for misunderstanding. No, I don't consider either GPS or Emacs as
good in that respect because neither supports Ada as the language for user
plug-ins. GPS uses Python, Emacs does even bigger mess. 

Although the command mode would allow some kind of dynamic plug-ins running
on the context of an alien program, it would not allow to have persistent
plug-ins.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2011-03-14 13:54 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-09 18:00 How to leave .ali files in original library? localhost
2011-03-09 18:53 ` Jeffrey Carter
2011-03-09 18:56   ` localhost
2011-03-09 19:17   ` localhost
2011-03-10 17:10   ` Robert Matthews
2011-03-10 17:42     ` localhost
2011-03-09 21:10 ` Ludovic Brenta
2011-03-10  6:10   ` localhost
2011-03-10  6:36     ` Simon Wright
2011-03-10  6:46       ` localhost
2011-03-10  9:23         ` Ludovic Brenta
2011-03-10  9:36           ` localhost
2011-03-10 18:42             ` Per Sandberg
2011-03-10 21:06               ` Simon Wright
2011-03-11  9:12               ` Emacs vs GPS vs Eclipse, Ada vs Lisp vs Lua vs Java Stephen Leake
2011-03-11 11:59                 ` Peter C. Chapin
2011-03-11 14:59                 ` Dmitry A. Kazakov
2011-03-12 12:53                   ` Stephen Leake
2011-03-12 15:23                     ` Dmitry A. Kazakov
2011-03-13 15:17                       ` Stephen Leake
2011-03-13 16:20                         ` Dmitry A. Kazakov
2011-03-14 12:07                           ` Stephen Leake
2011-03-14 13:54                             ` Dmitry A. Kazakov [this message]
2011-03-11  8:41             ` How to leave .ali files in original library? Stephen Leake
2011-03-11  8:59               ` localhost
2011-03-12 12:36                 ` Stephen Leake
2011-03-10 21:23           ` Randy Brukardt
2011-03-11  6:05             ` AdaMagica
2011-03-11  6:44               ` Per Sandberg
2011-03-11  9:26                 ` Cyrille
2011-03-11 10:09                   ` Cyrille
2011-03-11  9:02             ` localhost
2011-03-11  9:16               ` Ludovic Brenta
2011-03-11 15:07                 ` Dmitry A. Kazakov
2011-03-12 12:37                 ` Stephen Leake
2011-03-11  9:19             ` Stephen Leake
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox