comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@acm.org>
To: comp.lang.ada@ada-france.org
Subject: Re: Feasibility of using Ada in new development
Date: 04 Sep 2004 11:06:02 -0400
Date: 2004-09-04T11:06:02-04:00	[thread overview]
Message-ID: <mailman.30.1094310381.31213.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <usadnTF8L9CynKTcRVn-vA@megapath.net>

"Randy Brukardt" <randy@rrsoftware.com> writes:

> Actually, I have less tolerance for IDEs that try to 'help' by reorganizing
> my carefully structured program text. Or by changing identifiers to match
> some capitalization "standard", even if they don't make sense: "Text_Io",
> anyone?

Emacs solves the "Text_IO" case by allowing users to specify
exceptions to the default capitalization rule. I expect a "good IDE"
to do the same.

> In any case, my MS-DOS editor is multi-window, does auto-indenting,
> and allows all commands to be operated on blocks (even rectangles)
> of text. This last capability is invaluable, because it is often the
> case that you want to replace something is a section of text, not
> the whole file, and there often are enough mods that OKing each one
> isn't sane.

I don't use it much, but I believe Emacs can do this as well, although
not all commands will respect rectangles. 

> As far as creating the program goes, any decent Ada compiler will do
> that with a single command (gnatmake for GNAT, make for Janus/Ada,
> and there are similar commands in IBM/Rational Ada and in
> ObjectAda). Nothing complicated about it, even if the program is
> split into shared libraries and the like.

The complicated part is fixing errors reported by the compiler. A
"good IDE" will capture the compiler output, parse it, and pull up the
source code with the cursor at the point of the and the error message
in another window. An "excellent IDE" will then, at a keystroke, fix
simple errors (like "= should be :="). Emacs (and GPS) does this.

This ability is a _large_ productivity gain. Ada reports lots of good
errors at compile time on "fresh" code; it must be easy to fix them.

It is also essential when refactoring; that also produces lots of
error messages.

> Let me assure you, if a GUI really would help me be more productive,
> I'd be using it. But short of building one myself (which I may do
> someday, the one we provide with Janus/Ada is garbage), I don't
> expect to see it.

I don't think of Emacs as a GUI, but it is and excellent IDE.

> > > all the GUI will do there is make it more likely to lose the
> > > settings (because they're in some obscure settings file in the
> > > registry or some remote directory, rather than in a batch file
> > > that gets backed up daily with the source code...)
> >
> > I would hope a high-quality IDE would not.
> 
> An IDE is in a lose-lose situation here. If it clutters up the users space
> with all kinds of files with obscure contents, then people (rightly) will
> complain about the clutter. If it hides the files, they are likely to not
> get backed up. The "quality" of the IDE isn't going to fix this.

I have two project files for each Ada project; one for GNAT and one
for Emacs. The GNAT one sets compiler search paths and options; the
Emacs one sets error parsing search paths and capitalization rules.
Both are ASCII, human-editable. That's a very good compromise between
your two extremes.

> > > That said, I understand the many modern programmers are looking
> > > for GUIs to hold their hands, and certainly we support that.
> >
> > Maybe not hold my hand but at least help speed up tedious tasks.
> 
> And that is my point. There are almost no tedious tasks in creating programs
> from the command line in Janus/Ada, or in GNAT. So a GUI simply doesn't buy
> much. The only thing I find tedious is waiting for the compiler to finish -
> and no GUI is going to help with that!

One tedious task is fixing compiler errors, as I discussed above.

Another is synching with a source code configuration management
repository. Emacs pcvs mode is hands down the best user interface for
this I have ever seen. It presents a list of files that need
attention, and offers advice on what to do with each. Rational
ClearCase doesn't come close to that; neither does GPS or any other
CVS GUI. This is an absolute requirement for IDE's used by my team;
consequently, they are all using Emacs (and I'm not getting complaints
after the first month :).

> ... > > Of course, that's just part of a general dumping-down of
> programming. And > > that's what managers want: they want any idiot
> to be able to build software, > > so they can hire minimum wage
> people (or outsource) to do the job. But > > you're never going to
> get anything well-designed and maintainable that way.
> >
> > I assume you made a typo above and mean dumbing-down?
> 
> Yes, it was a typo.

I agree here. Emacs is a powerful tool, and takes time to learn and
skill to use well. One guideline in judging a potential team member is
to ask if they like Emacs. If they've never tried it, I give them a
chance. If they have tried it and don't like it, they are suspect.
Same for whether they like Ada.

-- 
-- Stephe




  reply	other threads:[~2004-09-04 15:06 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
2004-08-23 19:05 ` Martin Dowie
2004-08-23 19:09 ` Jeffrey Carter
2004-08-24  0:06 ` Florian Weimer
2004-08-24  1:31 ` Stephen Leake
2004-08-24  3:59 ` Adrian Hoe
2004-08-24  4:13 ` Steve
2004-08-24 11:09   ` Phong Ho
2004-08-24 11:40     ` Jeff C,
2004-08-24 20:25       ` Robert Law
2004-08-25 21:05         ` Dan McLeran
2004-08-26  2:42           ` John B. Matthews
2004-08-26 11:49           ` Georg Bauhaus
2004-08-26 19:31             ` Dan McLeran
2004-08-26 20:04               ` Simon Wright
2004-08-27 12:47               ` Georg Bauhaus
2004-08-27 21:08                 ` Dan McLeran
2004-08-28  0:28                   ` Stephen Leake
2004-09-01  4:09                     ` Adrian Hoe
2004-09-01  4:07                   ` Adrian Hoe
2004-09-01 14:14                     ` Hyman Rosen
2004-09-01 15:30                       ` Ed Falis
2004-09-05 20:50                         ` Florian Weimer
2004-09-05 21:27                           ` Ed Falis
2004-08-26 18:15           ` Ludovic Brenta
2004-08-28 17:57             ` Dan McLeran
2004-08-28 18:37               ` Ludovic Brenta
2004-08-30 17:06                 ` Dan McLeran
2004-08-30 18:00                   ` Georg Bauhaus
2004-08-30 18:55                   ` Jeffrey Carter
2004-08-31 17:11                     ` Dan McLeran
2004-08-31 17:46                       ` stephane richard
2004-08-31 19:19                         ` Björn Persson
2004-09-01 12:32                           ` Georg Bauhaus
2004-09-01 14:35                             ` Björn Persson
2004-09-02 15:18                         ` Dan McLeran
2004-09-02 22:03                           ` Randy Brukardt
2004-09-03 14:56                             ` Dan McLeran
2004-09-03 18:09                               ` Jeffrey Carter
2004-09-03 23:42                               ` Randy Brukardt
2004-09-04 15:06                                 ` Stephen Leake [this message]
2004-09-04 18:31                                   ` Georg Bauhaus
2004-09-05  8:18                                   ` Pascal Obry
2004-09-07  8:32                                   ` Jacob Sparre Andersen
2004-09-07  8:57                                     ` Georg Bauhaus
2004-09-08 12:26                                       ` Stephen Leake
2004-09-08 13:07                                         ` Georg Bauhaus
2004-08-31 18:12                       ` Jeffrey Carter
2004-08-31 18:14                         ` stephane richard
2004-08-31 20:09                           ` Hyman Rosen
2004-09-02  8:56                             ` Martin Dowie
2004-09-02 16:23                               ` Martin Krischik
2004-09-03  8:30                                 ` Martin Dowie
2004-09-03 18:04                                   ` Jeffrey Carter
2004-09-02 15:11                             ` Dan McLeran
2004-09-02 16:17                               ` Code completion Björn Persson
2004-09-02 17:42                                 ` Georg Bauhaus
2004-09-02 19:29                               ` Feasibility of using Ada in new development Simon Wright
2004-09-03 14:57                                 ` Dan McLeran
2004-08-26  9:52         ` Pascal Obry
2004-09-03  7:14         ` Case Crab
2004-09-03 12:21           ` Georg Bauhaus
2004-08-25  1:08     ` Puckdropper
2004-08-25  6:02       ` Adrian Hoe
2004-08-25  8:12         ` Martin Dowie
2004-08-25 12:54         ` Florian Weimer
2004-08-24 23:01 ` Luke A. Guest
2004-08-26 17:17   ` Warren W. Gay VE3WWG
2004-08-31  6:22 ` Wojtek Narczynski
2004-09-01  4:04   ` Adrian Hoe
2004-09-04 15:38     ` Wojtek Narczynski
2004-09-05  8:27       ` Pascal Obry
2004-09-05 11:54         ` Marius Amado Alves
2004-09-05 12:18           ` State Threads (was: Feasibility of using Ada in new development) Björn Persson
2004-09-05 13:13             ` State Threads Marius Amado Alves
2004-09-06 13:15               ` Wojtek Narczynski
2004-09-06 14:28                 ` Marius Amado Alves
2004-09-06 18:24                   ` Wojtek Narczynski
2004-09-07  0:23                     ` Marius Amado Alves
2004-09-07  8:13                       ` Wojtek Narczynski
2004-09-07 10:03                         ` Marius Amado Alves
2004-09-07 10:08                     ` Ole-Hjalmar Kristensen
2004-09-07 15:20                       ` Wojtek Narczynski
2004-09-06 16:23                 ` Georg Bauhaus
2004-09-07  8:01                   ` Wojtek Narczynski
2004-09-07  9:16                     ` Georg Bauhaus
2004-09-08 12:38                       ` Wojtek Narczynski
2004-09-08 13:26                         ` Georg Bauhaus
2004-09-06 12:19           ` Feasibility of using Ada in new development Wojtek Narczynski
2004-09-06 17:56         ` Wojtek Narczynski
2004-09-06 20:52           ` Pascal Obry
2004-09-07  8:40             ` Wojtek Narczynski
2004-09-07 23:59           ` Randy Brukardt
2004-09-08  9:10             ` Wojtek Narczynski
2004-09-09  1:12               ` Randy Brukardt
2004-09-09 10:26                 ` Wojtek Narczynski
2004-09-09 21:46                   ` Randy Brukardt
2004-09-06  3:11       ` Adrian Hoe
2004-09-06  8:17         ` Mark Lorenzen
2004-09-06 12:31         ` Wojtek Narczynski
2004-09-06  7:36       ` Ole-Hjalmar Kristensen
2004-09-06 15:32         ` Wojtek Narczynski
2004-09-07 23:51       ` Randy Brukardt
     [not found] <20040903083525.4DDF94C4137@lovelace.ada-france.org>
2004-09-03 10:17 ` Andrew Carroll
  -- strict thread matches above, loose matches on Subject: below --
2004-09-07  7:27 Robert C. Leif
2004-09-07 12:51 ` Ed Falis
     [not found] <200409070727.i877Rn69015076@mail710.megamailservers.com>
2004-09-08 12:24 ` 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