comp.lang.ada
 help / color / mirror / Atom feed
* Re: USE clauses (was: c++ vs ada results)
@ 1991-07-03 14:11 munck
  0 siblings, 0 replies; 4+ messages in thread
From: munck @ 1991-07-03 14:11 UTC (permalink / raw)


In Volume 91:Issue 201, netcomsv!jls@decwrl.dec.com (Jim Showalter) says

>>While we are on this subject, Booch says that he rarely uses USE clauses,
>>because they "pollute the name space". I routinely use USE, and find that 
>>it makes the code more readable. Using qualified names all the time is a
>>pain in the neck.
>
>The style around Rational is to not use use clauses except in very limited
>circumstances (such as within a particular small declarative region). Yes,
>it requires more typing ...

The last fair-sized program I wrote, I jury-rigged a window with a
diagram of the entire data structure in it, such that I could
mouse-select any item in the structure and have its fully-qualified name
inserted into the editor text in the other window. Also had a menu of
statement skeletons down one side, with the result that I was doing most
of the "typing" with mouse picks. Very handy, _very_ fast, despite the
considerable limitations and bugs of my quick-and-filthy support.

A product-grade tool of this nature, based perhaps on the STARS
public-domain ACE IRIS/DIANA parser/interpreter and X-windows support and
with GOOD facilities for manipulating existing code as well as producing
new code ("reuse"), could be one heck of a productivity-enhancer.

It's been shown that some programmers, say 10%, are as much as ten times
as productive as the majority. Why don't we figure out how to locate
them, pay them enough so that they don't have to give up programming and
become managers, and give them sophisticated, exotic tools like this
one?  They might well produce twice the software at 1/5th the cost that
our current "Chinese Army" approach does now, with less bugs. It seems to
me that Rational tried to move down this path by providing the good
tools, but they are largely "pearls before swine."

(As Lenny Bruce used to say: "Is there anyone I've forgotten to insult?")

Bob Munck, NOT speaking for STARS

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: USE clauses (was: c++ vs ada results)
@ 1991-07-04 18:39 Jim Showalter
  0 siblings, 0 replies; 4+ messages in thread
From: Jim Showalter @ 1991-07-04 18:39 UTC (permalink / raw)


munck@STARS.RESTON.UNISYS.COM (Bob Munck) writes:

[description of homebrew syntactic/semantic completion tool deleted]

>A product-grade tool of this nature, based perhaps on the STARS
>public-domain ACE IRIS/DIANA parser/interpreter and X-windows support and
>with GOOD facilities for manipulating existing code as well as producing
>new code ("reuse"), could be one heck of a productivity-enhancer.

It exists. It's called the Rational Environment.
-- 
*** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 ****
*Proven solutions to software problems. Consulting and training on all aspects*
*of software development. Management/process/methodology. Architecture/design/*
*reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++.    *

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: USE clauses (was: c++ vs ada results)
@ 1991-07-06  5:36 Jim Showalter
  0 siblings, 0 replies; 4+ messages in thread
From: Jim Showalter @ 1991-07-06  5:36 UTC (permalink / raw)


Chuck Shotton describes some problems he has had using the Rational
toolset, and argues that for certain kinds of tasks the Rational is
not the right choice.

Could be.

All I know is that in the four years I worked at Rational I kept
encountering developers, CM people, documentation folks, toolsmiths,
managers, etc who said, in one phrasing or another, "We couldn't have
completed this project without Rational's technology.".
-- 
*** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 ****
*Proven solutions to software problems. Consulting and training on all aspects*
*of software development. Management/process/methodology. Architecture/design/*
*reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++.    *

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: USE clauses (was: c++ vs ada results)
@ 1991-07-07 22:39 Jim Showalter
  0 siblings, 0 replies; 4+ messages in thread
From: Jim Showalter @ 1991-07-07 22:39 UTC (permalink / raw)


chuck@brain.UUCP (Chuck Shotton) writes:

>People never HAVE to learn the
>right way to engineer Ada systems if they use a Rational, because the machine
>covers up for all their stupid mistakes with life savers like incremental
>compiles, etc.

People make mistakes. Nobody is prescient. To believe that software development
proceeds smoothly from requirements down through maintenance with nary a hitch
or stumble is naive in the extreme. In recognition of this fact, modern
software development methodologies stress iteration, feedback, experimentation,
and evolution. It is the opinion of many, including myself, that these sorts
of methodologies represent the right way to engineer large complex systems,
including Ada systems. What do YOU consider the "right way" to engineer Ada
systems?

One major obstacle to such methodologies--especially in a
compile-time bound language such as Ada--is recompilation overhead. Incremental
compilation provides a way to eliminate this obstacle, yielding the benefits
of an interpretive, dynamic language despite the static nature of Ada. It is
interesting to me that many of the problems people have started to encounter
with C++ are due to a lack of incremental compilation tools for that language.

>I really don't think
>you can argue that a Rational outperforms a Vax on a straight compile
>from source.

No, I can't. But I regard this as a largely irrelevant metric. I once performed
a benchmark for a prospective customer in which I made a change to a low-level
package spec using two different approaches. In the first approach, I simply
programmatically edited the spec and then used batch compilation to make the
library consistent. Despite the fact that the change was trivial (the addition
of a new procedure), the recompilation impact due to transitive closure rules
was horrendous, and the make-consistent time was quite long. I then made the
same change using incremental compilation, which took 14 seconds. Solving for
X, this gave the Rational Environment an EFFECTIVE batch compilation rate of
150KSLOC/minute, which is pretty darned hard to beat with a VAX... When
Rational talks about the difference between knowledge-based smart compilation
and traditional time-stamp based dumb compilation, this is the sort of thing
they're talking about. For you to dismiss this feature as a triviality that
adds nothing to programmer productivity, you'd have to claim with a straight
face that programmers never have to make changes to low-level specs--and for
you to make this claim you'd have to claim that programmers are omniscient.

The prospective customer bought a Rational, by the way. And they are so pleased
with it that they've placed additional orders.

>I don't even want to start in on the hardware performance issues or Rational's
 
>ca.1980 user interface/battleship keyboard from hell, etc., but I'd much rathe
r
>use DECwindows than a 2 foot tall VT100.

Well, personally I LIKE the keyboard because it don't have to take my hands off
it to use a mouse---all of the major operations that would be mouse items under
DECwindows are wired directly to keys. But this is just personal style--kind of
like the wars between the .vi and EMACS folks. In any event, if you want window
s
stuff for the Rational, you can certainly get it--they offer a windowing
product that runs on Suns, PCs, Macs, etc. But more importantly, you are 
attacking the Environment for its user interface, as if that's all that
distinguishes it from the tools available on a VAX, which is absurd. I notice
in all of your Rational-bashing that not once do you mention Rational
Subsystems. I find this rather amazing, since Rational Subsystems are the
only product I'm aware of that allow architectural-level design capture and
enforcement (not to mention integrated CM, build-and-release operations, and
recombinant testing with dynamic binding). Did you ever actually USE them?
If not, you're like a person beating up on a Ferrari because
you don't like the gated shifter (user interface) without ever taking the
thing out for a drive (subsystems). Fundamentally, the issue comes down
to sizzle over steak. The Rational is a giant juicy steak chock full of
vitamins and funtionality. The VAX has a better mouse. It's a no-brainer
to guess which actually adds real value to real projects.

>I just think that the technology
>incorporated in Rationals is better suited for undisciplined or inexperienced
>development teams and does little to increase the productivity of experienced
>Ada developers working on interactive systems.

Well, you must have worked with a different bunch of programmers than I did.
Indeed, the best software development organization I've ever heard of
(composed of highly disciplined and experienced developers) just loves
the Rational and feels it greatly increases their productivity.
-- 
*** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 ****
*Proven solutions to software problems. Consulting and training on all aspects*
*of software development. Management/process/methodology. Architecture/design/*
*reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++.    *

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1991-07-07 22:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1991-07-03 14:11 USE clauses (was: c++ vs ada results) munck
  -- strict thread matches above, loose matches on Subject: below --
1991-07-04 18:39 Jim Showalter
1991-07-06  5:36 Jim Showalter
1991-07-07 22:39 Jim Showalter

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