comp.lang.ada
 help / color / mirror / Atom feed
* Why do so many companies use Apex?
@ 2001-03-26 20:13 Phaedrus
  2001-03-26 20:56 ` Ted Dennison
                   ` (4 more replies)
  0 siblings, 5 replies; 30+ messages in thread
From: Phaedrus @ 2001-03-26 20:13 UTC (permalink / raw)


I've been developing with Ada since the mid 80's, and I don't think
that I've ever encountered a development environment as bad as
the Apex Ada environment.

1. It's SLOW, any other compiler seems to fly by comparison.  Remember
using Vax Ada?  Yeah, it's like that.  It'll seem like geologic time if you're
used to using Verdix.
2. Have you ever seen an environment that requires so much care and
feeding?  Most companies hire consultants to be the "Rational Toolsmith",
which adds another large chunk of cash to the huge mound that this turkey costs.
3. It's EXPENSIVE.   Not only do they charge big bucks for it, but then the
license server doesn't release the licenses, so if you really want your group to
be effective you'd better buy even MORE copies.
4. This thing has a terrible learning curve, but not to use the compiler, but
just
to set up a "tower".  (Oh yeah, better get used to obscure references to words
that they've appropriated for their own use.  Seems kind of like Dianetics in
that
respect, and scares me pretty much the same way.) Better be able to shell out
big bucks to send your folks to classes, and classes, and classes...
5. Ever try to use it to debug on the target?  Yikes!  If you've ever used a
nice
environment (I recommend the Green Hills compiler, it's small, friendly, and
MUCH cheaper!) then you'll be astounded at how bad this thing is for debugging
on the target.  Assuming that you can actually connect to the target, that is.
I did
mention that it's slow, right?
6. It's a pig.  Every third keypress seems to generate another swarm of windows,
and pretty soon even the best workstation is performing like a 286.  And you had
better have a pretty big screen, those windows start getting buried pretty fast.
Also,
it takes quite a while to load, I usually start it, then go for coffee, and when
I get back
it's finally loaded.

So, why do people keep buying this turkey?  And don't try and give me that,
"It's okay
once you get used to it" argument, would you like a hot stove if you sat on it
long
enough?  Granted, with Rational buying out most of the other Ada compiler
companies
(Can anybody say "antitrust"?  Would somebody PLEASE say it to Rational?  In an
official way, if possible.) there aren't many vendors left to buy from, but even
old Vax
Ada kicks it's butt for development.

Phaedrus





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

* Re: Why do so many companies use Apex?
  2001-03-26 20:13 Why do so many companies use Apex? Phaedrus
@ 2001-03-26 20:56 ` Ted Dennison
  2001-03-26 22:18   ` Phaedrus
  2001-03-27 15:49   ` Florian Weimer
  2001-03-26 21:25 ` William Dale
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 30+ messages in thread
From: Ted Dennison @ 2001-03-26 20:56 UTC (permalink / raw)


In article <_pNv6.15345$ue1.1278082@newsread2.prod.itd.earthlink.net>, Phaedrus
says...
>I've been developing with Ada since the mid 80's, and I don't think
>that I've ever encountered a development environment as bad as
>the Apex Ada environment.

I've never used it myself, so I can't really comment, except to say that I have
heard similar complaints from other Apex users.

>2. Have you ever seen an environment that requires so much care and
>feeding?  Most companies hire consultants to be the "Rational Toolsmith",

I'd guess that they see larger projects as their maket niche. In such an
environment, you'd have a full-time toolsmith anyway. Not that I'm
unsympathetic. I too have felt the pain of using tools meant to support hundreds
of developers on a 5-developer job. Ick.

>Granted, with Rational buying out most of the other Ada compiler companies
>(Can anybody say "antitrust"?  Would somebody PLEASE say it to Rational?  In an
>official way, if possible.) there aren't many vendors left to buy from, but 

I'm not so sure about this. The competetion in the Ada compiler field seems to
be much better than exists for just about any other language you can name. On
most platforms I've worked on there have been at least 2 available Ada vendors.
On the more popular ones there are often 3 or more. Win32 probably has at least
5 native Ada compiler vendors. How many C++ vendors (in a *much* larger market)
are there for Win32 right now? 2 maybe?

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: Why do so many companies use Apex?
  2001-03-26 20:13 Why do so many companies use Apex? Phaedrus
  2001-03-26 20:56 ` Ted Dennison
@ 2001-03-26 21:25 ` William Dale
  2001-03-26 21:52   ` Corey Ashford
  2001-03-27 16:08 ` Jerry Petrey
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 30+ messages in thread
From: William Dale @ 2001-03-26 21:25 UTC (permalink / raw)


I concur with your observations.  Rational was once targeting big DoD
companies but has been pushing its C++ tools out here in Silly Valley
lately. It seems that mangers spend big bucks on tools because all the
best tools cost the most ( ha! )   I keep pushing Open Source tools (and
Gnat) but nobody listens.

The real pity is that many people have only seen Ada on Rational Apex
and think that this turkey is the real 'Ada'.   

Bill

Phaedrus wrote:
> 
> I've been developing with Ada since the mid 80's, and I don't think
> that I've ever encountered a development environment as bad as
> the Apex Ada environment.
> 

[SNIP]


> So, why do people keep buying this turkey?  And don't try and give me that,
> "It's okay
> once you get used to it" argument, would you like a hot stove if you sat on it
> long
> enough?  Granted, with Rational buying out most of the other Ada compiler
> companies
> (Can anybody say "antitrust"?  Would somebody PLEASE say it to Rational?  In an
> official way, if possible.) there aren't many vendors left to buy from, but even
> old Vax
> Ada kicks it's butt for development.
> 
> Phaedrus



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

* Re: Why do so many companies use Apex?
  2001-03-26 21:25 ` William Dale
@ 2001-03-26 21:52   ` Corey Ashford
  2001-03-26 22:29     ` William Dale
                       ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Corey Ashford @ 2001-03-26 21:52 UTC (permalink / raw)


One of the reasons that Apex appears to be slower than other
compilers is that it is actually doing more work for you, to
save you time down the road.  Apex retains persistent compilation
information about units that it can use later to determine which
units exactly needs to be recompiled when a change is made to
any one of them.  As a simple example, in other compilers, changing
a  comment in oft-with'd spec will cause massive recompilation.
In Apex, the compiler will realize that there are no differences
in the peristent compilation information, and thus no recompilation
needs to take place.  Also, this persistent information is used
to allow you easily navigate your source code to find object and
type definitions.

As for inventing new terminology, Rational decided that the
bare language didn't have enough structure to solve all the
engineering and maintainance problems that users face.  So a new
CM system was created, and to efficiently talk about it, names
were assigned to parts of the system.


Disclaimer: I work for Rational.


Corey Ashford
Rational Software Corp.

"William Dale" <william.dale.jr+adanews@lmco.com> wrote in message news:3ABFB3AD.DF3AA617@lmco.com...
> I concur with your observations.  Rational was once targeting big DoD
> companies but has been pushing its C++ tools out here in Silly Valley
> lately. It seems that mangers spend big bucks on tools because all the
> best tools cost the most ( ha! )   I keep pushing Open Source tools (and
> Gnat) but nobody listens.
>
> The real pity is that many people have only seen Ada on Rational Apex
> and think that this turkey is the real 'Ada'.
>
> Bill
>
> Phaedrus wrote:
> >
> > I've been developing with Ada since the mid 80's, and I don't think
> > that I've ever encountered a development environment as bad as
> > the Apex Ada environment.
> >
>
> [SNIP]
>
>
> > So, why do people keep buying this turkey?  And don't try and give me that,
> > "It's okay
> > once you get used to it" argument, would you like a hot stove if you sat on it
> > long
> > enough?  Granted, with Rational buying out most of the other Ada compiler
> > companies
> > (Can anybody say "antitrust"?  Would somebody PLEASE say it to Rational?  In an
> > official way, if possible.) there aren't many vendors left to buy from, but even
> > old Vax
> > Ada kicks it's butt for development.
> >
> > Phaedrus





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

* Re: Why do so many companies use Apex?
  2001-03-26 20:56 ` Ted Dennison
@ 2001-03-26 22:18   ` Phaedrus
  2001-03-27 15:49   ` Florian Weimer
  1 sibling, 0 replies; 30+ messages in thread
From: Phaedrus @ 2001-03-26 22:18 UTC (permalink / raw)



> I've never used it myself, so I can't really comment, except to say that I
have
> heard similar complaints from other Apex users.

Which brings me back to my original question (Granted, I hid it clear at the end
of a very long post), why do so many companies use it?  Seems like the only
people who love it are managers, who like the one-stop-shopping, and
consultants, who love being employed to maintain the beast.

> I'd guess that they see larger projects as their maket niche. In such an
> environment, you'd have a full-time toolsmith anyway. Not that I'm
> unsympathetic. I too have felt the pain of using tools meant to support
hundreds
> of developers on a 5-developer job. Ick.

It's funny, it's touted as a tool to encrease the efficiency of the developers,
but
in fact it actually brings development to a crawl.  For example, a few years ago
I was the project software lead on a small project.  With six people on the
project,
in six months we had 25K lines of code working on the embedded target, and
being tested on the target aircraft, by using the Green Hills compiler.  Then, a
couple
of years later I was one of about 30 coders on a much larger project.  After
two+ years,
we finally 25K lines of code, but it was very unstable.  Sure, the two projects
had
very different management and a number of other differences, but still, we must
expect that the different development environments had a major part in the
difference.
And what a difference!  Three man-years on the first project for rugged code,
and
sixty (!) man-years on the second for half-assed code.

Okay, okay, empirical evidence isn't the best argument, but coupled with the
other complaints you mentioned you'd think that the Ada world would be dropping
it like a hot rock.  But they aren't, seems like every project that I look at
has been
saddled with the burden of Apex.

Phaedrus





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

* Re: Why do so many companies use Apex?
  2001-03-26 21:52   ` Corey Ashford
@ 2001-03-26 22:29     ` William Dale
  2001-03-26 22:43       ` Phaedrus
  2001-03-27 13:19     ` Marc A. Criley
  2001-03-27 17:33     ` Pascal Obry
  2 siblings, 1 reply; 30+ messages in thread
From: William Dale @ 2001-03-26 22:29 UTC (permalink / raw)


OK, but what Apex does for you does not make up for the very high
learning curve imposed and the fact that most victms (users) go away
thinking Apex is Ada and all Ada compilers do things in these silly
ways. 

Corey Ashford wrote:
> 
> One of the reasons that Apex appears to be slower than other
> compilers is that it is actually doing more work for you, to
> save you time down the road.  Apex retains persistent compilation
> information about units that it can use later to determine which
> units exactly needs to be recompiled when a change is made to
> any one of them.  

Bill



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

* Re: Why do so many companies use Apex?
  2001-03-26 22:29     ` William Dale
@ 2001-03-26 22:43       ` Phaedrus
  2001-03-26 23:09         ` Corey Ashford
  0 siblings, 1 reply; 30+ messages in thread
From: Phaedrus @ 2001-03-26 22:43 UTC (permalink / raw)


Roger that.  I'd love to get my hands on the email address (or phone #)
of one of the high mucky-mucks at Rational, just to give them a dose of
reality.

"Rational", indeed!  There's a company whose name should be indicated
in a false advertising suit!

Phaedrus

"William Dale" <william.dale.jr+adanews@lmco.com> wrote in message
news:3ABFC2D8.A0998569@lmco.com...
> OK, but what Apex does for you does not make up for the very high
> learning curve imposed and the fact that most victms (users) go away
> thinking Apex is Ada and all Ada compilers do things in these silly
> ways.
>
> Corey Ashford wrote:
> >
> > One of the reasons that Apex appears to be slower than other
> > compilers is that it is actually doing more work for you, to
> > save you time down the road.  Apex retains persistent compilation
> > information about units that it can use later to determine which
> > units exactly needs to be recompiled when a change is made to
> > any one of them.
>
> Bill
>





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

* Re: Why do so many companies use Apex?
  2001-03-26 22:43       ` Phaedrus
@ 2001-03-26 23:09         ` Corey Ashford
  2001-03-26 23:57           ` Phaedrus
  2001-03-27  0:24           ` Phaedrus
  0 siblings, 2 replies; 30+ messages in thread
From: Corey Ashford @ 2001-03-26 23:09 UTC (permalink / raw)


The names are not hidden.  You could contact Paul Levy (chairman
of the board and president) or Mike Devlin (CEO).  Call the
Corporate offices in Cupertino and ask for either of them.

http://www.rational.com/corpinfo/investor/biographies.jsp

The corporate offices are:
Rational Software Corporation
18880 Homestead Rd
Cupertino, CA 95014
408-863-9900

Corey Ashford
Rational Software Corp.

"Phaedrus" <phaedrusalt@hotmail.com> wrote in message news:xCPv6.15621$ue1.1307971@newsread2.prod.itd.earthlink.net...
> Roger that.  I'd love to get my hands on the email address (or phone #)
> of one of the high mucky-mucks at Rational, just to give them a dose of
> reality.
>
> "Rational", indeed!  There's a company whose name should be indicated
> in a false advertising suit!
>
> Phaedrus
>
> "William Dale" <william.dale.jr+adanews@lmco.com> wrote in message
> news:3ABFC2D8.A0998569@lmco.com...
> > OK, but what Apex does for you does not make up for the very high
> > learning curve imposed and the fact that most victms (users) go away
> > thinking Apex is Ada and all Ada compilers do things in these silly
> > ways.
> >
> > Corey Ashford wrote:
> > >
> > > One of the reasons that Apex appears to be slower than other
> > > compilers is that it is actually doing more work for you, to
> > > save you time down the road.  Apex retains persistent compilation
> > > information about units that it can use later to determine which
> > > units exactly needs to be recompiled when a change is made to
> > > any one of them.
> >
> > Bill
> >
>
>





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

* Re: Why do so many companies use Apex?
  2001-03-26 23:09         ` Corey Ashford
@ 2001-03-26 23:57           ` Phaedrus
  2001-03-27  0:24           ` Phaedrus
  1 sibling, 0 replies; 30+ messages in thread
From: Phaedrus @ 2001-03-26 23:57 UTC (permalink / raw)


I tried.  The number ~does~ contact the corporate office, but
neither gent is actually in their office.  *chuckle*  You didn't
warn them that I'd be calling, did you?

Tell you what Corey, since you obviously work with them, why don't
you give them my email address, and I'll be happy to call them
at their convenience.  Or we can have an email conversation, if
they'd rather.

Phaedrus
"Corey Ashford" <x@y.com> wrote in message
news:w_Pv6.628250$U46.19185693@news1.sttls1.wa.home.com...
> The names are not hidden.  You could contact Paul Levy (chairman
> of the board and president) or Mike Devlin (CEO).  Call the
> Corporate offices in Cupertino and ask for either of them.
>
> http://www.rational.com/corpinfo/investor/biographies.jsp
>
> The corporate offices are:
> Rational Software Corporation
> 18880 Homestead Rd
> Cupertino, CA 95014
> 408-863-9900
>
> Corey Ashford
> Rational Software Corp.
>
> "Phaedrus" <phaedrusalt@hotmail.com> wrote in message
news:xCPv6.15621$ue1.1307971@newsread2.prod.itd.earthlink.net...
> > Roger that.  I'd love to get my hands on the email address (or phone #)
> > of one of the high mucky-mucks at Rational, just to give them a dose of
> > reality.
> >
> > "Rational", indeed!  There's a company whose name should be indicated
> > in a false advertising suit!
> >
> > Phaedrus
> >
> > "William Dale" <william.dale.jr+adanews@lmco.com> wrote in message
> > news:3ABFC2D8.A0998569@lmco.com...
> > > OK, but what Apex does for you does not make up for the very high
> > > learning curve imposed and the fact that most victms (users) go away
> > > thinking Apex is Ada and all Ada compilers do things in these silly
> > > ways.
> > >
> > > Corey Ashford wrote:
> > > >
> > > > One of the reasons that Apex appears to be slower than other
> > > > compilers is that it is actually doing more work for you, to
> > > > save you time down the road.  Apex retains persistent compilation
> > > > information about units that it can use later to determine which
> > > > units exactly needs to be recompiled when a change is made to
> > > > any one of them.
> > >
> > > Bill
> > >
> >
> >
>
>
>





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

* Re: Why do so many companies use Apex?
  2001-03-26 23:09         ` Corey Ashford
  2001-03-26 23:57           ` Phaedrus
@ 2001-03-27  0:24           ` Phaedrus
  1 sibling, 0 replies; 30+ messages in thread
From: Phaedrus @ 2001-03-27  0:24 UTC (permalink / raw)


I tried.  The number ~does~ contact the corporate office, but
neither gent is actually in their office.  *chuckle*  You didn't
warn them that I'd be calling, did you?

Tell you what Corey, since you obviously work with them, why don't
you give them my email address, and I'll be happy to call them
at their convenience.  Or we can have an email conversation, if
they'd rather.

Phaedrus

"Corey Ashford" <x@y.com> wrote in message
news:w_Pv6.628250$U46.19185693@news1.sttls1.wa.home.com...
> The names are not hidden.  You could contact Paul Levy (chairman
> of the board and president) or Mike Devlin (CEO).  Call the
> Corporate offices in Cupertino and ask for either of them.
>
> http://www.rational.com/corpinfo/investor/biographies.jsp
>
> The corporate offices are:
> Rational Software Corporation
> 18880 Homestead Rd
> Cupertino, CA 95014
> 408-863-9900
>
> Corey Ashford
> Rational Software Corp.
>
> "Phaedrus" <phaedrusalt@hotmail.com> wrote in message
news:xCPv6.15621$ue1.1307971@newsread2.prod.itd.earthlink.net...
> > Roger that.  I'd love to get my hands on the email address (or phone #)
> > of one of the high mucky-mucks at Rational, just to give them a dose of
> > reality.
> >
> > "Rational", indeed!  There's a company whose name should be indicated
> > in a false advertising suit!
> >
> > Phaedrus
> >
> > "William Dale" <william.dale.jr+adanews@lmco.com> wrote in message
> > news:3ABFC2D8.A0998569@lmco.com...
> > > OK, but what Apex does for you does not make up for the very high
> > > learning curve imposed and the fact that most victms (users) go away
> > > thinking Apex is Ada and all Ada compilers do things in these silly
> > > ways.
> > >
> > > Corey Ashford wrote:
> > > >
> > > > One of the reasons that Apex appears to be slower than other
> > > > compilers is that it is actually doing more work for you, to
> > > > save you time down the road.  Apex retains persistent compilation
> > > > information about units that it can use later to determine which
> > > > units exactly needs to be recompiled when a change is made to
> > > > any one of them.
> > >
> > > Bill
> > >
> >
> >
>
>
>





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

* Re: Why do so many companies use Apex?
  2001-03-26 21:52   ` Corey Ashford
  2001-03-26 22:29     ` William Dale
@ 2001-03-27 13:19     ` Marc A. Criley
  2001-03-27 17:33     ` Pascal Obry
  2 siblings, 0 replies; 30+ messages in thread
From: Marc A. Criley @ 2001-03-27 13:19 UTC (permalink / raw)


Corey Ashford wrote:
> 
> One of the reasons that Apex appears to be slower than other
> compilers is that it is actually doing more work for you, to
> save you time down the road.  Apex retains persistent compilation
> information about units that it can use later to determine which
> units exactly needs to be recompiled when a change is made to
> any one of them.  As a simple example, in other compilers, changing
> a  comment in oft-with'd spec will cause massive recompilation.
> In Apex, the compiler will realize that there are no differences
> in the peristent compilation information, and thus no recompilation
> needs to take place.  Also, this persistent information is used
> to allow you easily navigate your source code to find object and
> type definitions.
> 
> As for inventing new terminology, Rational decided that the
> bare language didn't have enough structure to solve all the
> engineering and maintainance problems that users face.  So a new
> CM system was created, and to efficiently talk about it, names
> were assigned to parts of the system.
> 
> Disclaimer: I work for Rational.
> 
> Corey Ashford
> Rational Software Corp.

A lukewarm contrary opinion to the Apex bashing:

I've used Apex on both a very large project (1.5M SLOC) and a smallish
one (<200K).  I didn't find it all that onerous to work with.  The only
learning curve issue was understanding how to set up and manage
subsystems, which I was comfortable with in a day or two.  And the
conceptual underpinnings of CM are pretty stable now, so that's pretty
much a yawner where all you have to do is pick up the system's
terminology.  <yawn>

The vendor support was decent, the navigation tools for browsing the
code worked well, and certainly the avoidance of unnecessary compilation
was a good thing to have.

My only general complaint about Apex was that while the IDE was quite
advanced for the late 80s, when I first saw it demonstrated, I've seen
very little evolution since then, so it's gotten rather creaky over the
years.

Marc A. Criley
Senior Staff Engineer
Quadrus Corporation
www.quadruscorp.com



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

* Re: Why do so many companies use Apex?
  2001-03-26 20:56 ` Ted Dennison
  2001-03-26 22:18   ` Phaedrus
@ 2001-03-27 15:49   ` Florian Weimer
  1 sibling, 0 replies; 30+ messages in thread
From: Florian Weimer @ 2001-03-27 15:49 UTC (permalink / raw)


Ted Dennison<dennison@telepath.com> writes:

> How many C++ vendors (in a *much* larger market) are there for Win32
> right now? 2 maybe?

GNU (in at least two different flavors), Microsoft, Borland, KAI,
Watcom, Metaware, IBM, Intel, Symnatec, Metroworks.

I don't know how many of them are still in business, are commercially
relevant or share frontends or backends.



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

* Re: Why do so many companies use Apex?
  2001-03-26 20:13 Why do so many companies use Apex? Phaedrus
  2001-03-26 20:56 ` Ted Dennison
  2001-03-26 21:25 ` William Dale
@ 2001-03-27 16:08 ` Jerry Petrey
  2001-03-27 18:56   ` Phaedrus
  2001-04-04 21:58   ` James A. Krzyzanowski
  2001-03-28  1:52 ` Phaedrus
  2001-03-28  1:57 ` Phaedrus
  4 siblings, 2 replies; 30+ messages in thread
From: Jerry Petrey @ 2001-03-27 16:08 UTC (permalink / raw)




Phaedrus wrote:
> 
> I've been developing with Ada since the mid 80's, and I don't think
> that I've ever encountered a development environment as bad as
> the Apex Ada environment.
> 
> 1. It's SLOW, any other compiler seems to fly by comparison.  Remember
> using Vax Ada?  Yeah, it's like that.  It'll seem like geologic time if you're
> used to using Verdix.
> 2. Have you ever seen an environment that requires so much care and
> feeding?  Most companies hire consultants to be the "Rational Toolsmith",
> which adds another large chunk of cash to the huge mound that this turkey costs.
> 3. It's EXPENSIVE.   Not only do they charge big bucks for it, but then the
> license server doesn't release the licenses, so if you really want your group to
> be effective you'd better buy even MORE copies.
> 4. This thing has a terrible learning curve, but not to use the compiler, but
> just
> to set up a "tower".  (Oh yeah, better get used to obscure references to words
> that they've appropriated for their own use.  Seems kind of like Dianetics in
> that
> respect, and scares me pretty much the same way.) Better be able to shell out
> big bucks to send your folks to classes, and classes, and classes...
> 5. Ever try to use it to debug on the target?  Yikes!  If you've ever used a
> nice
> environment (I recommend the Green Hills compiler, it's small, friendly, and
> MUCH cheaper!) then you'll be astounded at how bad this thing is for debugging
> on the target.  Assuming that you can actually connect to the target, that is.
> I did
> mention that it's slow, right?
> 6. It's a pig.  Every third keypress seems to generate another swarm of windows,
> and pretty soon even the best workstation is performing like a 286.  And you had
> better have a pretty big screen, those windows start getting buried pretty fast.
> Also,
> it takes quite a while to load, I usually start it, then go for coffee, and when
> I get back
> it's finally loaded.
> 
> So, why do people keep buying this turkey?  And don't try and give me that,
> "It's okay
> once you get used to it" argument, would you like a hot stove if you sat on it
> long
> enough?  Granted, with Rational buying out most of the other Ada compiler
> companies
> (Can anybody say "antitrust"?  Would somebody PLEASE say it to Rational?  In an
> official way, if possible.) there aren't many vendors left to buy from, but even
> old Vax
> Ada kicks it's butt for development.
> 
> Phaedrus


I have been using Rational Apex for many years on a number of different
projects
and I have found it to be the best thing that ever happened to Ada.  It
is
expensive but well worth it if it is used right (many times it is not,
however).
In one product you have all the integrated tools you need - Ada
compiler, linker,
Ada sensitive editor, CM tool, Target compiler interface, a host of
analysis tools,
coverage analysis tools, etc.

If your subsystems and views are set up properly (import and export
relationships),
Apex will enforce your system architecture by not allowing improper
dependencies.
Once your system is compiled, with one click you can visit any
identifier or subprogram
to see where it is defined.

I find it very fast in compilation speed (a lot faster than our target
compiler).
If you have the problems you mention, I suggest you look at getting some
training
on its use - it is well worth the investment.  Also look at your network
- many
times that is the bottleneck.

I can't imagine handling a large project in Ada without a tool like
Apex.  In fact,
I would not work on one that didn't use Apex.  I have seen how much it
can help
a large project to be successful and I would prefer not to waste my time
struggling
with primitive tools.

Jerry
-- 
-----------------------------------------------------------------------------
-- Jerry Petrey                                                
-- Senior Principal Systems Engineer - Navigation, Guidance, & Control
-- Raytheon Missile Systems          - Member Team Ada & Team Forth
-- NOTE: please remove <NOSPAM> in email address to
reply                  
-----------------------------------------------------------------------------



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

* Re: Why do so many companies use Apex?
  2001-03-26 21:52   ` Corey Ashford
  2001-03-26 22:29     ` William Dale
  2001-03-27 13:19     ` Marc A. Criley
@ 2001-03-27 17:33     ` Pascal Obry
  2001-03-27 21:04       ` Gautier de Montmollin
  2001-03-27 21:08       ` Corey Ashford
  2 siblings, 2 replies; 30+ messages in thread
From: Pascal Obry @ 2001-03-27 17:33 UTC (permalink / raw)



"Corey Ashford" <x@y.com> writes:

> One of the reasons that Apex appears to be slower than other
> compilers is that it is actually doing more work for you, to
> save you time down the road.  Apex retains persistent compilation
> information about units that it can use later to determine which
> units exactly needs to be recompiled when a change is made to
> any one of them.  As a simple example, in other compilers, changing
> a  comment in oft-with'd spec will cause massive recompilation.

That's not the case with GNAT. Have a look at the -m option.

> In Apex, the compiler will realize that there are no differences
> in the peristent compilation information, and thus no recompilation
> needs to take place.  Also, this persistent information is used
> to allow you easily navigate your source code to find object and
> type definitions.

GNAT does that too. Look at the .ali files written by the compiler. You have
full cross-ref info there. These info are used by gnatfind and gnatxref to
"navigate" into the sources. GLIDE does use these info too.

I won't comment on Rational Apex that I have never used. But please try GNAT
and you'll see that amazingly many nice features are there :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: Why do so many companies use Apex?
  2001-03-27 16:08 ` Jerry Petrey
@ 2001-03-27 18:56   ` Phaedrus
  2001-03-28  8:37     ` Martin Dowie
                       ` (2 more replies)
  2001-04-04 21:58   ` James A. Krzyzanowski
  1 sibling, 3 replies; 30+ messages in thread
From: Phaedrus @ 2001-03-27 18:56 UTC (permalink / raw)


> Apex will enforce your system architecture by not allowing improper
> dependencies.
And not allowing such things as circular withing, whether the language
allows them or not.  And not allowing circular dependencies of views.
And not allowing C/C++ code to call Ada, and not allowing Ada to
call C++... *sigh*

> I find it very fast in compilation speed (a lot faster than our target
> compiler).
Wow, what target compiler are you using?  What we need here are some
benchmarks.  I found that for a given piece of code, the Rational compiler
was faster than Vax Ada, but not much.  No where anywhere near as fast
as Verdix.  For a 20K system, a system rebuild was (much like the Vax) started
before lunch, and then you take a long lunch.

> If you have the problems you mention, I suggest you look at getting some
> training
Interesting concept... Why does an environment require that the developers
conform to it?  Shouldn't it be the other way around?  Is it a tool or a
religion?
Most of my favorite tools have required ZERO training.  Let's see, how much
training does Verdix require?  Learn the handful of terms "ada", "a.mklib", and
"a.ld", and you're off and running.  (By the way, I consider Verdix to be a BAD
example.  It's user-interface is clunky at best, and I'd like to get my hands on
the
guy who thought "a.mklib" and "a.ld" were good command names.  But then,
I'm still hunting the ding-dong who first thought that "ls" was a good name for
"dir" under Unix.)

> I can't imagine handling a large project in Ada without a tool like
> Apex.  In fact, I would not work on one that didn't use Apex.  I have seen how
much it
> can help a large project to be successful and I would prefer not to waste my
time
> struggling with primitive tools.
I've noticed that folks who get assimilated by the Rational collective
(Okay, so I'm not above some emotionally charged rhetoric, in case
you haven't noticed already!) tend to have this view.  I personally think
that it's a case of "Well, I've been wearing sandpaper underwear all these
years, and I'd miss it if I had to go back to wearing cotton!".  Maybe it's
dependent upon your definition of "primitive tools".  I think that any tool,
(be it a hammer, a screwdriver, or a compiler) that forces you to do things
it's way is an artificial constraint and therefore primitive.  I don't need any
more artificial constraints on the coding process, I've got enough already:
Requirements are usually in a state of flux, the customer (and most of
management!) is pretty clueless about the development process, and etc.

I remember attending a Rational demo in 1985, we all came away
semi-impressed but asking the same question:  What's it FOR?  Then,
in the early 1990's I worked on a missile where management had unwisely
chose the Rational hardware for the host.  Most of the developers looked at
the keyboard-from-Hell and the horrible screens, and left ASAP.  Now, it's
over 15 years later than that first demo, and Rational is still expecting
the development world to conform to their strange concepts.  And I'm still
not buying it.

Phaedrus









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

* Re: Why do so many companies use Apex?
  2001-03-27 17:33     ` Pascal Obry
@ 2001-03-27 21:04       ` Gautier de Montmollin
  2001-03-27 21:08       ` Corey Ashford
  1 sibling, 0 replies; 30+ messages in thread
From: Gautier de Montmollin @ 2001-03-27 21:04 UTC (permalink / raw)


> > In Apex, the compiler will realize that there are no differences
> > in the peristent compilation information, and thus no recompilation
> > needs to take place.  Also, this persistent information is used
> > to allow you easily navigate your source code to find object and
> > type definitions.

Pascal Obry:

> GNAT does that too. Look at the .ali files written by the compiler. You have
> full cross-ref info there. These info are used by gnatfind and gnatxref to
> "navigate" into the sources. GLIDE does use these info too.

Not to mention the genial "gnathtml" tool: "gnatmake" once, run "gnathtml"
and you have a full web site with sources, clickable cross-references,
alphabetical tables,...

___________________________________________________
Gautier  --  http://www.diax.ch/users/gdm/gsoft.htm



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

* Re: Why do so many companies use Apex?
  2001-03-27 17:33     ` Pascal Obry
  2001-03-27 21:04       ` Gautier de Montmollin
@ 2001-03-27 21:08       ` Corey Ashford
  2001-03-27 22:04         ` Keith Thompson
  2001-03-28  7:12         ` Pascal Obry
  1 sibling, 2 replies; 30+ messages in thread
From: Corey Ashford @ 2001-03-27 21:08 UTC (permalink / raw)



"Pascal Obry" <p.obry@wanadoo.fr> wrote in message news:ur8zj2k23.fsf@wanadoo.fr...
>
> "Corey Ashford" <x@y.com> writes:
>
> > One of the reasons that Apex appears to be slower than other
> > compilers is that it is actually doing more work for you, to
> > save you time down the road.  Apex retains persistent compilation
> > information about units that it can use later to determine which
> > units exactly needs to be recompiled when a change is made to
> > any one of them.  As a simple example, in other compilers, changing
> > a  comment in oft-with'd spec will cause massive recompilation.
>
> That's not the case with GNAT. Have a look at the -m option.
>

Thanks for the info, Pascal.

From my reading, the "-m" option only handles changes where
white space or comments have changed.

Apex's support for "fast path" recompilation is far more
extensive.  For example, let's say you change the definition
of a record in a spec.  In Apex, only those units which
use the record definition will be recompiled, whereas in most
other compilers (and I assume including GNAT), the compilation
system will cause all units that "with" the spec of that package
containing the record definition to be recompiled because
more than just comments or white space has changed.


Corey Ashford
Rational Software Corp.

Disclaimer:  I work for Rational, but I don't speak for them.





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

* Re: Why do so many companies use Apex?
  2001-03-27 21:08       ` Corey Ashford
@ 2001-03-27 22:04         ` Keith Thompson
  2001-03-27 23:17           ` Corey Ashford
  2001-03-28 14:44           ` Ted Dennison
  2001-03-28  7:12         ` Pascal Obry
  1 sibling, 2 replies; 30+ messages in thread
From: Keith Thompson @ 2001-03-27 22:04 UTC (permalink / raw)


"Corey Ashford" <x@y.com> writes:
[...]
> Apex's support for "fast path" recompilation is far more
> extensive.  For example, let's say you change the definition
> of a record in a spec.  In Apex, only those units which
> use the record definition will be recompiled, whereas in most
> other compilers (and I assume including GNAT), the compilation
> system will cause all units that "with" the spec of that package
> containing the record definition to be recompiled because
> more than just comments or white space has changed.

It would be interesting to see a cost-benefit analysis for this kind
of thing -- in particular, whether the time saved by avoiding major
rebuilds outweighs the time spent in bookkeeping.

Note that 100 6-second delays might well be more annoying to the user
than a single 600-second delay.  The former could give a general
impression that the system is slow; the latter is understandable if
it's doing a lot of work, and it gives the user a chance to grab a cup
of coffee.

I really have no idea what the outcome of such a study would be, and
I've never used Apex.  Just randomly firing neurons.

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
MAKE MONEY FAST!!  DON'T FEED IT!!



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

* Re: Why do so many companies use Apex?
  2001-03-27 22:04         ` Keith Thompson
@ 2001-03-27 23:17           ` Corey Ashford
  2001-03-28 14:44           ` Ted Dennison
  1 sibling, 0 replies; 30+ messages in thread
From: Corey Ashford @ 2001-03-27 23:17 UTC (permalink / raw)


"Keith Thompson" <kst@cts.com> wrote in message news:yecpuf2c1hf.fsf@king.cts.com...
> "Corey Ashford" <x@y.com> writes:
> [...]
> > Apex's support for "fast path" recompilation is far more
> > extensive.  For example, let's say you change the definition
> > of a record in a spec.  In Apex, only those units which
> > use the record definition will be recompiled, whereas in most
> > other compilers (and I assume including GNAT), the compilation
> > system will cause all units that "with" the spec of that package
> > containing the record definition to be recompiled because
> > more than just comments or white space has changed.
>
> It would be interesting to see a cost-benefit analysis for this kind
> of thing -- in particular, whether the time saved by avoiding major
> rebuilds outweighs the time spent in bookkeeping.
>
> Note that 100 6-second delays might well be more annoying to the user
> than a single 600-second delay.  The former could give a general
> impression that the system is slow; the latter is understandable if
> it's doing a lot of work, and it gives the user a chance to grab a cup
> of coffee.
>
> I really have no idea what the outcome of such a study would be, and
> I've never used Apex.  Just randomly firing neurons.
>

Yes, that would be very interesting.  I think it would depend
a great deal upon how often changes were made and how deep
and complex the dependency graph is.

I can say from my use of it that it is very nice, and personally
I've never run into a problem with it not recompiling something
that should've recompiled.

I used to use Verdix VADS and it
had the attribute that you'd avoid making cosmetic changes to
units to avoid recompilation.  Cosmetic changes aren't always
just white space or comments - they can be things like variable
names, function names, etc. which would cause recompilation in
most other systems.  With Apex, it's hardly a consideration.
So I think fast path recompilation adds to the maintainability
of code.

- Corey






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

* Re: Why do so many companies use Apex?
  2001-03-26 20:13 Why do so many companies use Apex? Phaedrus
                   ` (2 preceding siblings ...)
  2001-03-27 16:08 ` Jerry Petrey
@ 2001-03-28  1:52 ` Phaedrus
  2001-03-28  1:57 ` Phaedrus
  4 siblings, 0 replies; 30+ messages in thread
From: Phaedrus @ 2001-03-28  1:52 UTC (permalink / raw)


For anybody that didn't know, Corey was nice enough to put me in touch with
the folks at Rational, so that they could get a glimpse at my gripes.  It's only
fair
that I post their response here, to give them equal time.

Phaedrus
<text follows>

>1. It's SLOW, any other compiler seems to fly by comparison.  Remember
>using Vax Ada?  Yeah, it's like that.  It'll seem like geologic time if
>you're used to using Verdix.

Apex is slow when compiling small programs, compared to other batch
oriented compilers.  This is because Apex is caching information and
performing a number of consistency checks.  However, this caching
and checking begins to payoff as the size of the compilation closure
grows.

For example, compared to GNAT, Apex is 20 times slower compiling the
classic Hello_World program.  But when compiling a larger program
the numbers change.  The example program I use is a full Ada parsing
program that translates Ada to an intermediate language.  Total lines
in the source files are :
Source Comment Blank Total
------ ------- ----- -----
 22792    5883  5560 34235

This takes about 11 minutes of CPU time to code and link with Apex
from clean libraries.  With GNAT it takes 21 minutes of CPU time.

This is from clean libraries, which is usually not the case
with Apex.  The build avoidance and minimal recompilation features
of Apex typically speed the recompile time even further.

This example has only 34KSLOC, which is typically on the small side
for an Ada application.  On real world projects with large amounts
of code, the benefits of the Apex compilation model pay off
considerably.

Given Apex's ability to cache information and perform incremental
checks allows a developer to get very quick feedback when performing
operations such as "semanticize", often faster than the eye can see.

The performance of Apex improves with every release, not only in
the performance of the code Apex generates, but the speed of the
environment itself.

Apex generates the fastest code of any Ada compiler for real
applications.  Of course, it is always possible to contrive
a particular benchmark that shows any compiler in a bad light,
which is why we emphasize working with real world programs.

Given our library structure the size of benchmark programs
is a criticism often leveled at Apex.  For small programs we
have a large static closure (although with Apex 4.0 we now
ship shared libraries for the runtimes on some platforms).
Text_Io adds several hundred KB to a program.

But once the size of the application grows Apex shows that it
is doing a great job.  The above example when compiled with
Apex (full optimization) is 5% smaller than GNAT (full optimization).

Apex ships with a pure Ada implementation of the Ada 95
Generic_Elementary_Functions package.  Our Ada implemention meets
the Reference Manual requirements for accuracy of all functions and
is very fast.  On most platforms our 64 bit calculations are about
the same speed as the platform vendor C library libm, but with
increased accuracy, others are much faster (sqrt on Solaris is
twice as fast in Ada as it is in C).  For 32 bit calculations we are
always faster as there is no need to cast to/from 64 bits like C,
and the calculations are performed using 32 bit arithmatic.


>2. Have you ever seen an environment that requires so much care and
>feeding?  Most companies hire consultants to be the "Rational Toolsmith",
>which adds another large chunk of cash to the huge mound that this turkey
>costs.

>3. It's EXPENSIVE.   Not only do they charge big bucks for it, but then
>the license server doesn't release the licenses, so if you really want
>your group to be effective you'd better buy even MORE copies.

On the first issue, price, the charge for Apex reflects many things,
including the small size and demanding nature of the customer base.  Ada
prevails in the Defence and Aerospace community (presumably the sector
in which you work?).  To properly serve this market, we have to retain a
considerable number of development and support engineers to cover a small
group of customers (albeit important and very technically sophisticated ones.)
As pointed out elsewhere, Apex comprises much more than just
a compiler - it also includes a comprehensive configuation management system,
for
example.  Again, just comparing prices to a straight compiler is inappropriate.

And yes, some customers want to customise Apex to fully support their own
internal processes; those are the ones who hire toolsmiths.  Many customers,
however, run the product straight out of the box and just have their usual IT
staff
do standard backups.  Either is fine.

Those customers find Apex is totally suitable without any customization
or toolsmithing.  On the other hand, we have many customers who take advantage
of Apex's ability to customize: Source Unit Templates, Build Policies, Library
Configuration, Configuration Mangement process, Multi-platform distributed
build/compilation, architectural enforcement, code rule checking etc.

In all honesty, trying to educate customers about all of the capabilities
in Apex is a monumental task.  The standard 3 day course covers a lot of
ground, but only scratches the surface of what Apex can do.  Most
customers are loath to spend even three days training.  Given this reality
we've always tried to make the Apex documentation as complete as possible.

On the second point. if you mean Apex holds a license while a session is active,
sure that's they way we intend it to work.  If you mean that you exit Apex and a
license isn't freed up, then that's an issue that we need to made aware
of, but it may depend upon a number of variables to do with installation,
networks etc.

>4. This thing has a terrible learning curve, but not to use the compiler,
>but just to set up a "tower".  (Oh yeah, better get used to obscure
>references to words that they've appropriated for their own use.  Seems
>kind of like Dianetics in that respect, and scares me pretty much the same
>way.) Better be able to shell out big bucks to send your folks to classes,
>and classes, and classes...

There is only one Apex class from Rational, the standard item refered to above.
Of course there are other classes for the layered products like ClearCase,
TestMate
and SoDA.

Apex makes no pretense to being just a compiler, it isn't.  Rational
believe that a Software Architecture is one of the ultimate factors
in determining whether a software project succeeds or fails.  Apex has
very strong support for defining and enforcing a software architecture
through it's use of Subsystems and the formal relationships between
subsystems and the compilation units contained within them.

The Concepts Guide in the Apex manual set describes these concepts
in great detail.  We don't "appropriate" terms for our own use, but
this is a complex subject and having terms like Tower, Subsystem
and View help to convey meaning.

Having subsystems allows Apex to support advanced capabilities like
build avoidance, recombinant linking (relink your program with a
different configuration of dependent views, no recompilation) etc.

Is this a significant learning curve?  Yes.  Do we believe in the
benefits it provides? A very emphatic "Yes".  Some customers choose
not to move too far up that curve, other customers do.  We try
to make Apex work appropriately for both kinds of user communitites.


>5. Ever try to use it to debug on the target?  Yikes!  If you've ever used
>a nice environment (I recommend the Green Hills compiler, it's small,
>friendly, and MUCH cheaper!) then you'll be astounded at how bad this
>thing is for debugging on the target.  Assuming that you can actually
>connect to the target, that is. I did mention that it's slow, right?

We have lots of customers who successfully do target debugging.  Apex
supports a number of host/target communication mechanisms
including a serial link (which could be slow if the target doesn't support
a fast UART), an ethernet link (which makes debugging on the target almost
as fast as debugging on the host), and for some targets we support using an
emulation probe from Agilent Technologies (which also provides for very fast
debugging).  So, we're surprised to hear that you think debugging on the target
is
slow, unless your particular target does not support a fast serial interface.

We'd like to find out more about your specific environment - host OS & version,
host machine type, # processors, memory, targetprocessor, target memory, type of
host/target communcation link.

What is described here is not typical of other users.  Indeed, consensus here is
that
you may have a configuration problem that could be usefully investigated.  Which
customer do you work for?



>6. It's a pig.  Every third keypress seems to generate another swarm of
>windows, and pretty soon even the best workstation is performing like a
>286.  And you had better have a pretty big screen, those windows start
>getting buried pretty fast. Also, it takes quite a while to load, I
>usually start it, then go for coffee, and when I get back
>it's finally loaded.

Apex on UNIX does use a number of windows.  Opinions on them are quite
polarized.  But Apex provides a great degree of control on just how
many you get.  Standard Xdefaults can be used to control position and
size.  Behaviour of subsiduary windows (output, jobs) can be controlled
so that they raise/disappear when needed.  Similarly most windows support
"in-place" navigation options which forces reused of the existing window.
We also provide EMACS for editing if that window style is preferred.

Apex taking a while to load indicates it is being run from a remote
disk.  The Apex executables are large, the intent being that the
text image is shared once loaded, but there is a penalty to pay
for loading that image the first time.

At Rational we run Apex in a networked environment, sometimes running
from local disk, more often running from remote disks from a large
file server.  For me it rarely takes more than 10 - 15 seconds to
start up.  I only witness longer times when running Apex at a remote
location (Oregon) and displaying on my local PC (California).



>So, why do people keep buying this turkey?  And don't try and give me
>that, "It's okay once you get used to it" argument, would you like a hot
>stove if you sat on it long enough?  Granted, with Rational buying out
>most of the other Ada compiler companies (Can anybody say
>"antitrust"?

Hang on a minute.  Rational has made *one* acquisition in this space,and that
was our purchase of Verdix some 6 years ago.  A study has shown that over
the 5 year period from '94 to '99, the number of Ada vendors fell by 50%.  That
decline is thanks primarily to attrition, along with some consolidation.
Reasons?
The market isn't there to support more.  No one would be happier than Rational
were the situation something other than it is.

>Would somebody PLEASE say it to Rational?  In an official
>way, if possible.) there aren't many vendors left to buy from, but even old Vax
>Ada kicks it's butt for development.

VAX Ada was OK but that example alone shows that even back in the "old" days,
when Digital was alive and well, the Ada market was not an appealing place
for them to invest their money.  And I think you have somewhat rose-coloured
glasses.  VAX Ada had it's own set of challenges!  I remember customers who
had multi-day recompile and relink times resulting from a single-line change
in their source closure.







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

* Re: Why do so many companies use Apex?
  2001-03-26 20:13 Why do so many companies use Apex? Phaedrus
                   ` (3 preceding siblings ...)
  2001-03-28  1:52 ` Phaedrus
@ 2001-03-28  1:57 ` Phaedrus
  4 siblings, 0 replies; 30+ messages in thread
From: Phaedrus @ 2001-03-28  1:57 UTC (permalink / raw)


Of course, I'm not gonna give them equal time without posting my response to
their response...
In the process I shortened it quite a bit, so the text has been modified.

--Phaedrus

>>1. It's SLOW...
I'm not surprised that it is fast in your (idealized) environment.  But,
try to run it across the network, using less than ideal Sun workstations.
That's what it's like out here in the real world.  In a lot of places it's
actually run ON THE SERVER, and the display data is shipped back to the
developer's machine.  And do you know why it's run on the server?  Because
it's too bloody big to run on the developer's machine!

>>2. Care and feeding...
When I talk about "Rational Toolsmiths", I'm not talking about people who
create the custom tools necessary to support the customer's process.  I'm
talking about what should be the trivial task of setting up views!  It's
THAT complicated!  Surely you can see that a good old "a.mklib" is easier?
And, have you tried to have a C++ program call Ada stuff, lately?  The docs
say you can do it...  Tried to call C++ stuff from an Ada program?  Again,
the docs say you can do it.  They lie.  When we called support, they just
said "Oops, that doesn't work in that version.  Wanna buy the new version?"

>>3. It's EXPENSIVE...
>  Again, just comparing prices to a straight compiler is inappropriate.
True.  But that's what the developers WANT.  We want to buy an ice cream
cone, and you want to sell the ice cream store.

>In all honesty, trying to educate customers about all of the capabilities
>in Apex is a monumental task.
Because it's too complicated!  You've tried to wear too many hats, and all
you've proven is that you can look pretty darn silly with a lot of hats on.

>If you mean that you exit Apex and a license isn't freed up, then that's
>an issue that we need to made aware of, but it may depend upon a number
>of variables to do with installation, networks etc.
Repeated calls to the Apex folks resulted in us being told, "That's the
way it is.  Wanna buy more licenses?" (Can you tell that I've had a
less than satisfactory experience with your support group?)  By the way,
it's even worse about releasing target licenses.


>>4. This thing has a terrible learning curve...
>There is only one Apex class from Rational, the standard item refered to above.
>Of course there are other classes for the layered products like ClearCase,
TestMate
>and SoDA.
Oh, silly me.  Just because they all run from under the HUGE Apex umbrella,
and you never see them anywhere else but under Apex, and you see all the
endless pull-down menus from them under Apex even when you don't need or
want them, I tend to treat them as part of Apex.

>Apex makes no pretense to being just a compiler, it isn't.
True.  Ever try to carve with a Swiss Army knife?  They are wonderful tools,
in theory, but they make terrible knives.  Being too complicated, awkward
to use, and forcing the user to spend a significant period of learning time
just to find the knife blade is a serious disadvantage.  And, once you
find it the first time, you still have to go searching for it every time
after that, 'cause there's just too many tools.

>>5. Ever try to use it to debug on the target?
>... an ethernet link (which makes debugging on the target almost
>as fast as debugging on the host)...
My particular target was a PowerPC, and debugging was performed via the
ethernet.  Two out of three times the target would timeout before the
tool had formed the connection.  Folks, that's slow.  (For comparison,
the Green Hills compiler had a much better debugger, and it connected to
the target nearly every time.)

>Indeed, consensus here is that you may have a configuration problem that
>could be usefully investigated.  Which customer do you work for?
Thankfully, I left that environment last year.  I left in disgust after
spending three years fighting the Apex tool set.  In fact, if it weren't
for ObjectAda, GNAT, the odd Verdix project, and even some Vax Ada projects,
I might be tempted to quit doing Ada altogether.  Apex is a mighty big
occurance of pissing in the well, and I'm tired of dealing with it.

>>6. It's a pig.  Every third keypress seems to generate another swarm of
>>windows...
>Apex on UNIX does use a number of windows.
To put it mildly.

>Apex taking a while to load indicates it is being run from a remote
>disk. <snip>  For me it rarely takes more than 10 - 15 seconds to
>start up.
You really should get out into the real world once in a while.  I've
seen startup times as long as four or five minutes, but it usually was
at least two minutes.  More than enough time to go for coffee.  Oh, and
that's assuming that you are able to get a license.  For some reason, the
compiler license is tied to Apex, and it'll keep the license even though
the user isn't actually compiling.

>>Granted, with Rational buying out most of the other Ada compiler
>>companies (Can anybody say "antitrust"?
>Hang on a minute.  Rational has made *one* acquisition in this space,and that
was our purchase of Verdix some 6 years ago.
By the way, why DID ya'all buy Verdix?  I don't think it was for fun.
Eliminating
the competition?  But mea culpa.  The "antitrust" comment was out of line.  I
tend
to get Rational and Microsoft confused, but not without good reason.

>The market isn't there to support more.  No one would be happier than Rational
>were the situation something other than it is.
Of course, the market might be better if people enjoyed using Ada more... And
if the environment was friendlier it might make a difference.  Taken a look
at Visual Basic's user base, lately?  Adding a steep learning curve to the
environment on top of Ada's learning curve is a great way to drive people
away.

>> but even old Vax Ada kicks it's butt for development.
>And I think you have somewhat rose-coloured glasses.  VAX Ada had it's own
>set of challenges!  I remember customers who had multi-day recompile and
>relink times resulting from a single-line change in their source closure.
And I remember, just recently, seeing development stop across the whole
project because of problems with Apex.  And this happened more than once!
Vax Ada was fairly simple to learn, and it was rugged!  Sure, I remember
the slow-as-molasses compile times, and I remember having to use CMS to
check-in/out files... And I remember the strange ways that LSE worked,
with it.  But, compile, link, and debug all happened in ONE window, and
it was simple and easy to use.  Would I want to be using LSE and Vax Ada
again?  Heck no!  But if I could have an environment that worked as well
as the Vax environment, and if I could have a compiler as fast as the
Verdix compiler, would I touch Apex with a stick?  Nope.






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

* Re: Why do so many companies use Apex?
  2001-03-27 21:08       ` Corey Ashford
  2001-03-27 22:04         ` Keith Thompson
@ 2001-03-28  7:12         ` Pascal Obry
  1 sibling, 0 replies; 30+ messages in thread
From: Pascal Obry @ 2001-03-28  7:12 UTC (permalink / raw)



"Corey Ashford" <x@y.com> writes:

> From my reading, the "-m" option only handles changes where
> white space or comments have changed.

Right.

> 
> Apex's support for "fast path" recompilation is far more
> extensive.  For example, let's say you change the definition
> of a record in a spec.  In Apex, only those units which
> use the record definition will be recompiled, whereas in most
> other compilers (and I assume including GNAT), the compilation
> system will cause all units that "with" the spec of that package
> containing the record definition to be recompiled because
> more than just comments or white space has changed.

Indeed this case is not covered by GNAT. Thanks for the info.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: Why do so many companies use Apex?
  2001-03-27 18:56   ` Phaedrus
@ 2001-03-28  8:37     ` Martin Dowie
  2001-03-29 14:40       ` Martin Dowie
  2001-03-28  8:51     ` Jean-Pierre Rosen
  2001-03-28 16:30     ` Corey Ashford
  2 siblings, 1 reply; 30+ messages in thread
From: Martin Dowie @ 2001-03-28  8:37 UTC (permalink / raw)


You can have circular dependant views, it just makes it tricky to
do (seems a fairly Ada way of doing things). I'm not using it at my new
job, so I'm afraid I can't direct you to the correct option :-(
If I remember correctly Apex effectly treats them as one view from then on.

I'd have to say that 25K SLOC is a small program and probably not
in keeping with Rational's target audience. I can't say I'm keen on the
Green Hills front end, nor are any of the engineers here how have had
to use it). If you like the Visual C++ environment try Aonix's ObjectAda.

If you don't like thousand of windows popping up then select the appropriate
options within each window type - they can stop 'auto-appear' and enable
reuse of a window type. I think I always managed to get away with about
4 windows and 2 of those were minimised pretty much all the time.

My biggest gripe with Apex was the inability to turn on the optimisations -
but
I understand that is all fixed now.

For multi-user (5+), multi-target projects, you're hard pushed to find
an environment that copes as well - that's where it really comes into its
own.


Phaedrus <phaedrusalt@hotmail.com> wrote in message
news:Un5w6.1633$aP5.137062@newsread2.prod.itd.earthlink.net...
> > Apex will enforce your system architecture by not allowing improper
> > dependencies.
> And not allowing such things as circular withing, whether the language
> allows them or not.  And not allowing circular dependencies of views.
> And not allowing C/C++ code to call Ada, and not allowing Ada to
> call C++... *sigh*
>
> > I find it very fast in compilation speed (a lot faster than our target
> > compiler).
> Wow, what target compiler are you using?  What we need here are some
> benchmarks.  I found that for a given piece of code, the Rational compiler
> was faster than Vax Ada, but not much.  No where anywhere near as fast
> as Verdix.  For a 20K system, a system rebuild was (much like the Vax)
started
> before lunch, and then you take a long lunch.
>
> > If you have the problems you mention, I suggest you look at getting some
> > training
> Interesting concept... Why does an environment require that the developers
> conform to it?  Shouldn't it be the other way around?  Is it a tool or a
> religion?
> Most of my favorite tools have required ZERO training.  Let's see, how
much
> training does Verdix require?  Learn the handful of terms "ada",
"a.mklib", and
> "a.ld", and you're off and running.  (By the way, I consider Verdix to be
a BAD
> example.  It's user-interface is clunky at best, and I'd like to get my
hands on
> the
> guy who thought "a.mklib" and "a.ld" were good command names.  But then,
> I'm still hunting the ding-dong who first thought that "ls" was a good
name for
> "dir" under Unix.)
>
> > I can't imagine handling a large project in Ada without a tool like
> > Apex.  In fact, I would not work on one that didn't use Apex.  I have
seen how
> much it
> > can help a large project to be successful and I would prefer not to
waste my
> time
> > struggling with primitive tools.
> I've noticed that folks who get assimilated by the Rational collective
> (Okay, so I'm not above some emotionally charged rhetoric, in case
> you haven't noticed already!) tend to have this view.  I personally think
> that it's a case of "Well, I've been wearing sandpaper underwear all these
> years, and I'd miss it if I had to go back to wearing cotton!".  Maybe
it's
> dependent upon your definition of "primitive tools".  I think that any
tool,
> (be it a hammer, a screwdriver, or a compiler) that forces you to do
things
> it's way is an artificial constraint and therefore primitive.  I don't
need any
> more artificial constraints on the coding process, I've got enough
already:
> Requirements are usually in a state of flux, the customer (and most of
> management!) is pretty clueless about the development process, and etc.
>
> I remember attending a Rational demo in 1985, we all came away
> semi-impressed but asking the same question:  What's it FOR?  Then,
> in the early 1990's I worked on a missile where management had unwisely
> chose the Rational hardware for the host.  Most of the developers looked
at
> the keyboard-from-Hell and the horrible screens, and left ASAP.  Now, it's
> over 15 years later than that first demo, and Rational is still expecting
> the development world to conform to their strange concepts.  And I'm still
> not buying it.
>
> Phaedrus
>
>
>
>
>
>





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

* Re: Why do so many companies use Apex?
  2001-03-27 18:56   ` Phaedrus
  2001-03-28  8:37     ` Martin Dowie
@ 2001-03-28  8:51     ` Jean-Pierre Rosen
  2001-03-28 16:30     ` Corey Ashford
  2 siblings, 0 replies; 30+ messages in thread
From: Jean-Pierre Rosen @ 2001-03-28  8:51 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 727 bytes --]


"Phaedrus" <phaedrusalt@hotmail.com> a �crit dans le message news: Un5w6.1633$aP5.137062@newsread2.prod.itd.earthlink.net...
> I'm still hunting the ding-dong who first thought that "ls" was a good name for
> "dir" under Unix.)
>
A piece of history:
Under Multics, there were no "files"; everything was considered as memory "segments", some of which could be named (making the
equivalent of a file). You had therefore a command to List Segments: ls.

Unix was built after Multics (its name is actually a pun for a simpler Multics), and the name of the command was kept.

--
---------------------------------------------------------
           J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr





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

* Re: Why do so many companies use Apex?
  2001-03-27 22:04         ` Keith Thompson
  2001-03-27 23:17           ` Corey Ashford
@ 2001-03-28 14:44           ` Ted Dennison
  1 sibling, 0 replies; 30+ messages in thread
From: Ted Dennison @ 2001-03-28 14:44 UTC (permalink / raw)


In article <yecpuf2c1hf.fsf@king.cts.com>, Keith Thompson says...
>
>"Corey Ashford" <x@y.com> writes:
>[...]
>> of a record in a spec.  In Apex, only those units which
>> use the record definition will be recompiled, whereas in most
>> other compilers (and I assume including GNAT), the compilation
>> system will cause all units that "with" the spec of that package
>> containing the record definition to be recompiled because
>> more than just comments or white space has changed.
>
>It would be interesting to see a cost-benefit analysis for this kind
>of thing -- in particular, whether the time saved by avoiding major
>rebuilds outweighs the time spent in bookkeeping.

It would surely have to be plotted against program size. For a smallish program,
recompilations don't take that long, and would typically involve a significant
percentage of the entire project anyway. So taking extra effort on each file to
possibly prevent one or two more package recompilations would clearly not be a
good idea. But once you get into the thousands of packages and millions of lines
of code, where a full system compile can easly take more than 30 minutes on a
modern processor, this would be a *big* issue. 

Just another example of how Apex targets large projects.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: Why do so many companies use Apex?
  2001-03-27 18:56   ` Phaedrus
  2001-03-28  8:37     ` Martin Dowie
  2001-03-28  8:51     ` Jean-Pierre Rosen
@ 2001-03-28 16:30     ` Corey Ashford
  2 siblings, 0 replies; 30+ messages in thread
From: Corey Ashford @ 2001-03-28 16:30 UTC (permalink / raw)



"Phaedrus" <phaedrusalt@hotmail.com> wrote in message news:Un5w6.1633$aP5.137062@newsread2.prod.itd.earthlink.net...
[snip]
> And not allowing C/C++ code to call Ada, and not allowing Ada to
> call C++... *sigh*
[snip]

Apex Duo allows Ada calling C++ and C++ calling Ada, at least for scalar and pointer types parameters.
There are several of language features (pragma import, pragma
calling_convention, pragma export) that allow this to work.

Even just Apex Ada (not Duo) can work with the host C/C++ compiler,
and gcc for that matter.  It's just more convenient to use the
Apex C/C++ compiler because of the build management system.





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

* Re: Why do so many companies use Apex?
  2001-03-28  8:37     ` Martin Dowie
@ 2001-03-29 14:40       ` Martin Dowie
  0 siblings, 0 replies; 30+ messages in thread
From: Martin Dowie @ 2001-03-29 14:40 UTC (permalink / raw)


that's the old v1.8.9b of GHS by the way, we're still evaluating the much
improved v3

> I'd have to say that 25K SLOC is a small program and probably not
> in keeping with Rational's target audience. I can't say I'm keen on the
> Green Hills front end, nor are any of the engineers here how have had
> to use it). If you like the Visual C++ environment try Aonix's ObjectAda.






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

* Re: Why do so many companies use Apex?
  2001-03-27 16:08 ` Jerry Petrey
  2001-03-27 18:56   ` Phaedrus
@ 2001-04-04 21:58   ` James A. Krzyzanowski
  2001-04-06 18:50     ` Ben Brosgol
  2001-04-08  5:19     ` Lao Xiao Hai
  1 sibling, 2 replies; 30+ messages in thread
From: James A. Krzyzanowski @ 2001-04-04 21:58 UTC (permalink / raw)


I concur with Jerry.  VAX Ada was my 1st intro to the Ada World and
Rational Apex was a great leap forward in progress.  Rational Apex is more
than just a compiler.  It is a software development environment.  We staff
about 100 software engineers for over 1.3 million SLOC.  We call C code.
We interface with Java.  Apex enabled us to succeed.

I also would make it a requirement that Apex is on the job before I am.

Jim

Jerry Petrey wrote:
> 
> Phaedrus wrote:
> >
> > <snip>
> >
> > Phaedrus
> 
> I have been using Rational Apex for many years on a number of different
> projects
> and I have found it to be the best thing that ever happened to Ada.  It
> is
> expensive but well worth it if it is used right (many times it is not,
> however).
> In one product you have all the integrated tools you need - Ada
> compiler, linker,
> Ada sensitive editor, CM tool, Target compiler interface, a host of
> analysis tools,
> coverage analysis tools, etc.
> 
> If your subsystems and views are set up properly (import and export
> relationships),
> Apex will enforce your system architecture by not allowing improper
> dependencies.
> Once your system is compiled, with one click you can visit any
> identifier or subprogram
> to see where it is defined.
> 
> I find it very fast in compilation speed (a lot faster than our target
> compiler).
> If you have the problems you mention, I suggest you look at getting some
> training
> on its use - it is well worth the investment.  Also look at your network
> - many
> times that is the bottleneck.
> 
> I can't imagine handling a large project in Ada without a tool like
> Apex.  In fact,
> I would not work on one that didn't use Apex.  I have seen how much it
> can help
> a large project to be successful and I would prefer not to waste my time
> struggling
> with primitive tools.
> 
> Jerry
> --
> -----------------------------------------------------------------------------
> -- Jerry Petrey
> -- Senior Principal Systems Engineer - Navigation, Guidance, & Control
> -- Raytheon Missile Systems          - Member Team Ada & Team Forth
> -- NOTE: please remove <NOSPAM> in email address to
> reply
> -----------------------------------------------------------------------------

-- 
---------------------------------------------------------------------------
         James A. Krzyzanowski - Staff Software Engineer - AFATDS       %c%
     Raytheon Systems Company * Fort Wayne, IN 46808 * (219) 429-6446   cus
                 mailto:James_A_Krzyzanowski@raytheon.com               %s%
---------------------------------------------------------------------------



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

* Re: Why do so many companies use Apex?
  2001-04-04 21:58   ` James A. Krzyzanowski
@ 2001-04-06 18:50     ` Ben Brosgol
  2001-04-08  5:19     ` Lao Xiao Hai
  1 sibling, 0 replies; 30+ messages in thread
From: Ben Brosgol @ 2001-04-06 18:50 UTC (permalink / raw)


This is a reply from Robert Dewar to the messages in this thread from late
March comparing GNAT and Rational performance.

-Ben Brosgol
Ada Core Technologies
brosgol@gnat.com


> Just for the record, we are not aware of any current objective third party
> benchmarks comparing Rational and GNAT performance. Such benchmarks
> to be meaningful would have to be carried out using the latest commercial
> supported versions of both compilers, by people very familiar with both
> compilers, to ensure that appropriate optimization options etc were
> used so that the comparisons are meaningful, and the comparisons must
> be done by an objective third party.
>
> It seems quite likely that the results quoted in this thread meet
> none of these criteria.
>
> We have lots of anecdotal examples of comparisons between GNAT and
> other compilers, and the results vary widely. In general it is
> surprising when comparing any two compilers not to be able to find
> examples where one is faster than the other (in both directions),
> and that is what we see. Our policy at Ada Core Technologies is
> never to publish comparisons because we don't think they are
> meaningful unless all the criteria listed above are met.
>
> What we always advise is that customers do their own benchmarking,
> preferably using a benchmark that is as representative of their
> applications as possible, and most certainly using fully supported
> versions of all compilers, so that the respective vendors can assist
> in making sure that the compilers are used properly to achieve the
> maximum possible performance.
>
> As one would expect, the results of such benchmark vary, in some cases
> GNAT was chosen precisely because for the particular application
> environment it provided the best possible performance, but certainly
> we don't claim that this will always be the case. We have a large
> technical team dedicated to Ada, and we are always talking moving
> targets here, since certainly GNAT is constantly being improved.
>
> Note that with GNAT you have to be particularly careful of reported
> benchmarks that involve unsupported use of the public version of GNAT
> for two reasons. First, it is our experience that the lack of support
> means that serious conceptual mistakes get made in running the test
> programs. Second, such comparisons are likely being done with outdated
> technology. We certainly don't know Rational technology as well as we
> know GNAT technology, and the opposite is likely to be just as true :-)
>
> Robert Dewar
> Ada Core Technologies






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

* Re: Why do so many companies use Apex?
  2001-04-04 21:58   ` James A. Krzyzanowski
  2001-04-06 18:50     ` Ben Brosgol
@ 2001-04-08  5:19     ` Lao Xiao Hai
  1 sibling, 0 replies; 30+ messages in thread
From: Lao Xiao Hai @ 2001-04-08  5:19 UTC (permalink / raw)




"James A. Krzyzanowski" wrote:

> I concur with Jerry.  VAX Ada was my 1st intro to the Ada World and
> Rational Apex was a great leap forward in progress.  Rational Apex is more
> than just a compiler.  It is a software development environment.  We staff
> about 100 software engineers for over 1.3 million SLOC.  We call C code.
> We interface with Java.  Apex enabled us to succeed.
>
> I also would make it a requirement that Apex is on the job before I am.

On the other hand, one of my students, working for a major defense contractor,
tells me his Rational representative is trying to persuade everyone to drop
Ada and move to C++ because, according to him, Rational plans to drop
Apex withing five years.    This is probably not Rational's true position,
but it does serve to scare customers who might otherwise have decided to
stick with Ada.

Richard Riehle




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

end of thread, other threads:[~2001-04-08  5:19 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-03-26 20:13 Why do so many companies use Apex? Phaedrus
2001-03-26 20:56 ` Ted Dennison
2001-03-26 22:18   ` Phaedrus
2001-03-27 15:49   ` Florian Weimer
2001-03-26 21:25 ` William Dale
2001-03-26 21:52   ` Corey Ashford
2001-03-26 22:29     ` William Dale
2001-03-26 22:43       ` Phaedrus
2001-03-26 23:09         ` Corey Ashford
2001-03-26 23:57           ` Phaedrus
2001-03-27  0:24           ` Phaedrus
2001-03-27 13:19     ` Marc A. Criley
2001-03-27 17:33     ` Pascal Obry
2001-03-27 21:04       ` Gautier de Montmollin
2001-03-27 21:08       ` Corey Ashford
2001-03-27 22:04         ` Keith Thompson
2001-03-27 23:17           ` Corey Ashford
2001-03-28 14:44           ` Ted Dennison
2001-03-28  7:12         ` Pascal Obry
2001-03-27 16:08 ` Jerry Petrey
2001-03-27 18:56   ` Phaedrus
2001-03-28  8:37     ` Martin Dowie
2001-03-29 14:40       ` Martin Dowie
2001-03-28  8:51     ` Jean-Pierre Rosen
2001-03-28 16:30     ` Corey Ashford
2001-04-04 21:58   ` James A. Krzyzanowski
2001-04-06 18:50     ` Ben Brosgol
2001-04-08  5:19     ` Lao Xiao Hai
2001-03-28  1:52 ` Phaedrus
2001-03-28  1:57 ` Phaedrus

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