[comp.lang.c++] What C++ implementation is best for Sparcs?

mackin@vast.eecs.unsw.oz (John Mackin) (03/09/91)

I am a relative novice at C++ and am hoping for some assistance.  A
group I am about to join wants to implement a large C++ application on
Sun Sparc 2's (using X, if that matters).

I was wondering what would be the best C++ system to use.  I asked
the biggest C++ guru I could find and he said: ``Buy the one from
Sun, costs around $20K, includes C++-source-level debugger.
Don't touch g++, they've broken the language.''  Being aware that
gcc now compiles a superset of C (but hasn't broken the language
as far as I know, as long as you don't use any of the superset
features), I queried him about this, and he insisted that g++
was not just a superset, that what it compiled wasn't really C++
at all.

I would like some help through this maze.  Is g++ really broken?
If so, please tell me specifically how.  If not, does gdb (or some
hypothetical gdb variant, like gdb++ if it exists) work with g++?
If not, is it possible to use any C++-source-level debugger with
g++?

Is the Sun C++ product really that expensive?  How much is it
from AT&T?  (Rough numbers are all I want.)

Should anything else be considered?  I have heard rumours of
Saber C++ -- I assume it's just a development environment, not
a compiler?  Is it out?  How much does it cost?

Please reply by mail, and I will summarise.  Thanks for your
help.

-- 
John Mackin, currently between affiliations; <mackin@vast.eecs.unsw.oz.AU>
``I wanted a mission -- and for my sins, they gave me one.''

vaughan@puma.cad.mcc.com (Paul Vaughan) (03/12/91)

I tried to mail this, but the message was returned. Anyway, this gets
asked often enough to warrant a posting.

mackin@vast.eecs.unsw.oz (John Mackin) wrote

        What C++ implementation is best for Sparcs? . . .

	I was wondering what would be the best C++ system to use.  I asked
	the biggest C++ guru I could find and he said: ``Buy the one from
	Sun, costs around $20K, includes C++-source-level debugger.
	Don't touch g++, they've broken the language.''  Being aware that
	gcc now compiles a superset of C (but hasn't broken the language
	as far as I know, as long as you don't use any of the superset
	features), I queried him about this, and he insisted that g++
	was not just a superset, that what it compiled wasn't really C++
	at all.

Well, in a strict sense, that's true, but g++ is close enough. Note
that Sun C++ is not really C++ (the current definition) either. I
wouldn't worry about this issue so much. On the other hand, there are
LOTS of other issues. gdb works with g++ (there is no gdb++), but not
especially well. There are lots of little problems and gdb doesn't
understand multiple inheritance yet. 

I'm not going to go into all the issues, because I don't have time.
Basically, my advice is this: Now is not a good time to work with g++.
If you won't really be doing much for 6 months, g++ 2.0 may be out by
the time you need it and that may change things radically. So, if you
can delay the decision I would do that. If you need it today, don't
mess with g++.

I don't mean to endorse Sun C++, but I suppose it's as good as
anything. If you appreciate good debugging environments, you should
consider Saber C++. I believe it includes a slightly modified version
of Sun C++. Don't quote me on that, though.


--

 Paul Vaughan, MCC CAD Program | ARPA: vaughan@mcc.com | Phone: [512] 338-3639
 Box 200195, Austin, TX 78720  | UUCP: ...!cs.utexas.edu!milano!cadillac!vaughan
----------------------------------------------------------------------------------
I spent from $3 to $10 today to pay interest on the national debt.  How about you?
----------------------------------------------------------------------------------

jbuck@galileo.berkeley.edu (Joe Buck) (03/12/91)

I didn't respond by mail because this misinformation may influence
other people; I've seen a number of postings implying that there
are people out there who think g++ compiles a different language
than C++.

In article <1195@usage.csd.unsw.oz.au>, mackin@vast.eecs.unsw.oz (John Mackin) writes:
|> I was wondering what would be the best C++ system to use.  I asked
|> the biggest C++ guru I could find and he said: ``Buy the one from
|> Sun, costs around $20K, includes C++-source-level debugger.
|> Don't touch g++, they've broken the language.''

Your friend the "guru" is ignorant.  He probably based his decision
on a much earlier version of g++.

Our group is effectively using g++ for a fairly sizable project.  It
is true that there are compiler bugs, especially concerning multiple
inheritance.  However, we haven't had trouble working around the
problems, and AT&T's compiler can also be made to core dump when
handed fancy multiple inheritance graphs (though far less often).

|> gcc now compiles a superset of C (but hasn't broken the language
|> as far as I know, as long as you don't use any of the superset
|> features), I queried him about this, and he insisted that g++
|> was not just a superset, that what it compiled wasn't really C++
|> at all.

Oh, rot.  Tell your friend the guru that he needs to educate himself.

|> I would like some help through this maze.  Is g++ really broken?
|> If so, please tell me specifically how.  If not, does gdb (or some
|> hypothetical gdb variant, like gdb++ if it exists) work with g++?
|> If not, is it possible to use any C++-source-level debugger with
|> g++?

gdb will work with g++ version 1.37.1.  However, g++ version 1.39
made some changes that the current gdb (v3.5) doesn't handle.  I
wish they hadn't done this; Mike Tiemann said he was pressured
into releasing 1.39 when he wasn't really ready.

You should know that

1) Michael Tiemann, author of g++, is a voting member of the ANSI
C++ standards committee;

2) He has pledged that future versions of g++ will "track" the
standard as it evolves.

All of this will take time; we'll eventually get something called
g++ version 2.0, but who knows when.

--
Joe Buck
jbuck@galileo.berkeley.edu	 {uunet,ucbvax}!galileo.berkeley.edu!jbuck	

dah@zoot.avgrp.cr.rok.com (Dave Haverkamp) (03/12/91)

In article <VAUGHAN.91Mar11101706@puma.cad.mcc.com> vaughan@puma.cad.mcc.com (Paul Vaughan) writes:
>
>I tried to mail this, but the message was returned. Anyway, this gets
>asked often enough to warrant a posting.
>
>mackin@vast.eecs.unsw.oz (John Mackin) wrote
>
>        What C++ implementation is best for Sparcs? . . .
>
[*** Stuff deleted... ***]

      So what is the most resonable C++ compiler and environment to have for
multiple workstation platforms?  ( Apollo, Sparcs, DECstations & possibly
VAXstations...).  All of the specific WS makers only have C++ for their 
product(s).  I do know G++ will run on almost everything... so... What third
party C++ compilers will run on multiple palatforms and if someone could 
compare them, how do they rate?

-- 
--------------------------------------------------------------------------
David A. Haverkamp                    Collins Commercial Avionics Division
                                      Rockwell International   MS 124-211
INTERNET: dah@zoot.avgrp.cr.rok.com   Cedar Rapids, Iowa 52498

mackin@vast.eecs.unsw.oz (John Mackin) (03/14/91)

I have lots of information now and don't need any more replies to
the referenced article (which I am about to cancel).  Everyone who
replied will get mail back from me, modulo the mail getting there :-),
and I will summarise as promised (but it might take me a little
while to get around to that).

Thank you all for the assistance.

-- 
John Mackin, currently between affiliations; <mackin@vast.eecs.unsw.oz.AU>
``I wanted a mission -- and for my sins, they gave me one.''