comp.lang.ada
 help / color / mirror / Atom feed
From: "David Sanderson, IV" <cmi@neonramp.com>
Subject: Re: [Q] Tools for Ada Quality and Style
Date: 1996/04/30
Date: 1996-04-30T00:00:00+00:00	[thread overview]
Message-ID: <4m5159$hgk@neon3.neonramp.com> (raw)
In-Reply-To: 4m3ouj$b0p@inferno.mpx.com.au


pdmillik@mpx.com.au (Peter Milliken) wrote:
>Robert Dewar (dewar@cs.nyu.edu) wrote:
>: Bob Crispen was looking for pretty printing tools to enforce a standard.
>: 
>: I must say I do not like this approach. For uniform style rules to work,
>: everyone has to buy into them, and buying into them means getting 
>: completely familiar with them and not considering writing code in any
>: other style. 
>: 
>: If you rely on pretty printing tools, then there is a danger of continuing
>: to foster a sloppy attitude to the style rules.
>: 
>
>: I *do* like tools that enforce style rules, to the extent that this is
>: possible. Many style rules are simply too indefinite to enforce
>: mechanically.
>: 
>
>If I understand you correctly here, it would perhaps be best to use/provide
>tools that encourage the chosen style to be easily implemented at the 
>point of entry by the programmer rather than providing a 'clean-up' 
>utility after the fact. Such a tool is Language Sensistive Editting a la 
>DEC's LSE editor. It reduces program entry (largely) to "filling in the 
>blanks" ie the program structures are generated automatically (minimal 
>keystrokes anyway) by the editor and the programmer basically types in 
>the variable names and chooses the appropriate code structures along the 
>way. I have used LSE on an Ada project and provided I stuck to using the 
>language templates I had no style problems or semantic errors. Please do 
>not confuse the method that DEC have chosen for LSE'ing with the 
>"primitive" method provide by the Emacs ada-mode, DEC's method is far 
>superior and easier to use.
>
>From experience on several projects now I have found that people either 
>love true LSE or hate it, it seems to end up being one of those 
>"religious" areas that programmers seem to develop about their work 
>habits and tools (witness the great editor wars that have been fought over 
>the years :-)).
>
>
>-- 
>--------------------------------------------- _--_|\  |
>Peter Milliken (pdmillik@mpx.com.au)         /      \ |
>CAE Electronics (Australia) Pty. Ltd.        \_.--._/ |
>120 Silverwater Rd, Silverwater, N.S.W., 2128.     v  |

I too used DECs LSE and loved it.  At one time I considered myself
an LSE / TPU (if I remember correctly LSE is built upon TPU) wiz!
In fact, LSE is part of a tool suite (VAXSET) that includes CM,
and other tools (sorry it has been 5 years since I used them and
don't remember all the parts to DECs VAXSET).

All that changed when we started using Rational's Apex.  While
the product is a bit pricey, from a software engineer's point-
of-view it is worth every penny.  The tool provides a nifty
automatic pretty printer, but that is just the start.  As you
develop code it will, just by clicking a subroutine call and
giving the command "Visit" it will bring up an editor window,
if necessary, with the called subroutine visible.  CMVC is built
in so if you can check on a module's status (uncontrolled,
checked in, or checked out and by whom).  If you request to edit
a given file and it is currently checked out then it will notify
you.  If it is not checked out then it will give you a dialog box
(form) to fill out to check out the given file(s).  The Apex
debugger is no slouch either.  You debug right from the edit windows.
Step into a module and it brings up another edit window placing
you directly into that module.  You can do just about anything
while you debug.

Apex is also customizable so if you want to enhance a part of it
(e.g. the check in/out dialog box) you can do it or have Rational
do it.  If your target is another compiler or another OS, Apex
provides the Rational Compilation Integrator (RCI).  We used RCI
to produce VERDIX Ada code on our host hardware for a year and
it worked well (VERDIX is owned by Rational now and is utilized
as Apex's compiler).  RCI allows you to develop code in the Apex
environment where you can do syntactic and semantic checks.  Analyze
and Code is actually performed by the target compiler on the target
hardware.  RCI maintains your software integrity from the host to
the target environments for you.

Apex has a built-in Ada 83 compiler that does syntactic and / or
semantic and / or analysis (produces a DIANA tree) and / or actual
code (produces the DIANA tree and object code).  The version that
we are currently using has an Ada 95 compiler that only does
syntactic and semantic checking for now.

Sound like a Rational commercial... sure, but this is one satisfied
Rational customer.

BTW, Rational does produce or distribute a suite of development
tools that work WITH Apex.  These include, but not limited to:
Testmate (test development and code coverage analyzer), Rose
(object diagramming), X / Motif bindings, and Ada Analyzer (coding
standards conformance).  Most of these tools do work on a variety
of platforms.

-------------------------------------------------------------------
As long as there were no machines, programming was no problem at
all; when we had a few weak computers, programming became a mild
problem and now that we have gigantic computers, programming has
become an equally gigantic problem.  In this sense the electronic
industry has not solved a single problem, it has only created them
-- it has created the problem of using its product.
E.W. Dijkstra Turing Award Lecture, 1972






  reply	other threads:[~1996-04-30  0:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-04-17  0:00 Ada naming conventions? Bob Crispen
1996-04-17  0:00 ` Michael F Brenner
1996-04-25  0:00 ` [Q] Tools for Ada Quality and Style JP Thornley
1996-04-26  0:00   ` Ken Garlington
1996-04-27  0:00   ` Bob Crispen
1996-04-28  0:00     ` Robert Dewar
1996-04-29  0:00       ` JP Thornley
1996-04-30  0:00         ` Ken Garlington
1996-04-30  0:00       ` Peter Milliken
1996-04-30  0:00         ` David Sanderson, IV [this message]
1996-04-30  0:00         ` Ken Garlington
1996-04-30  0:00         ` Robert Dewar
1996-05-05  0:00           ` Geert Bosch
1996-05-07  0:00             ` Peter Milliken
1996-05-01  0:00         ` [Q] Tools for Ada Quality and Style [LONG] Laurent Guerby
1996-05-02  0:00           ` Robert A Duff
1996-05-02  0:00             ` Robert Dewar
1996-05-02  0:00           ` Robert Dewar
1996-05-02  0:00             ` Robert A Duff
1996-04-30  0:00   ` [Q] Tools for Ada Quality and Style Laurent Guerby
1996-04-30  0:00     ` Frank Falk
1996-04-30  0:00       ` David Weller
1996-05-04  0:00         ` LJMetzger
1996-05-04  0:00           ` Robert Dewar
1996-04-30  0:00     ` Robert A Duff
1996-05-06  0:00   ` Rolf Ebert
  -- strict thread matches above, loose matches on Subject: below --
1996-04-30  0:00 Bob Crispen
1996-04-30  0:00 ` Robert Dewar
1996-05-01  0:00   ` Bob Kitzberger
1996-05-02  0:00     ` Robert A Duff
1996-05-02  0:00     ` Robert Dewar
replies disabled

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