Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!ames!mailrus!husc6!psuvax1!vu-vlsi!swatsun!pomeranz From: pomeranz@cs.swarthmore.edu (Hal Pomeranz) Newsgroups: comp.lang.c++ Subject: a summary of information about C++ compilers Keywords: Oregon, AT&T, Oasys, G++ Message-ID: <2043@carthage.cs.swarthmore.edu> Date: 22 Aug 88 18:56:20 GMT Organization: Sun Lab, Swarthmore College PA Lines: 262 First, let me say thanks for the big response to my posting. Several people requested a summary of the replies I got, so I thought I'd post this in case other folks were interested too. This document is divided into four main sections-- each one describes one of the C++ implementations currently available (AT&T, Oregon, G++, and Oasys). The description consists of quotes culled from the responses I received (quotes are attributed with numbers in square brackets-- a complete listing of sources at the end of the message), any information I could get about cost, and a summary statement from me. There is also a section of general comments. Hope this is useful: AT&T C++: ========= Pro: ---- "It comes with source code..." [2] "The two biggest disadvantages are significantly slower compile times (but no big hit on execution speed) and the lack of debugger support. The AT&T translator munges names around, so the name that you see in your source isn't the "real" name. However, using dbx's "dump" command and cut & paste buffers greatly eases this problem. The next release is rumored to include a "canonical name masher", which I suspect could be integrated into the debugger to solve the naming problem." [3] Con: ---- "It works as a preprocessor to the regular cc compiler, so it can be hard to relate run-time errors to the original source. Probably the most annoying thing about it is its tendency to generate code that cc won't compile, which effectively limits the C++ language to a subset of that described in the book." [7] "This C++ is not particularly easy to install since Sun's run BSD and C++ was originally created under System V. I have heard however that version 2.0 is much easier to install." [10] "Some have noted when the language is pushed to its limits with derived classes, streams, and virtual functions that it may break; this however does not occur often." [10] Cost: ----- "Stanford has a $250 unlimited CPU site license w/source code I think that is AT&T's standard educational price. It produces C source, is very portable..." [1] "From everything I've heard, AT&T allows educational institutions to license the source for somewhere around $100..." [8] "... the University licence for AT&T C++ is something like $100 (and maybee $25 per client)." [9] In Summary: ----------- I seems that AT&T has a good product at a reasonable price (at least for educational institutions). Of course, AT&T has the benefit of having the language's creator on the staff. However, AT&T is a pre-processor which creates actual C code-- this is good in terms of portability (you can write C++ code on your machine and then take it over to machines without C++), but can cause problems debugging. Oregon C++: =========== Pro: ---- "Oregon has a pretty good reputation." [6] "It appears to be fully compatible with the ATT release and to generate fast code." [6] Con: ---- (none) Cost: For 1 server and up to 5 clients: $4750, additional clients at $380 ea. ----- (there is a 70% educational discount). Support is $1190 per year with NO educational discount applicable. Summary: -------- I'm not sure whether no bad comments about this compiler is a good thing or not (probably is, I guess). The Oregon compiler seems to cost more than AT&T, but is apparently a real compiler, not a pre-processor. The advertising blurb I got from Oregon (in the General Comments section below) also implies that the compiler is an ANSI C compiler as well. G++: ==== Pro: ---- "A debugger (pretty good) comes with this compiler also." [4] "... all the sorce code for it is available..." [4] "It is constantly being updated with enhancements and bug fixes." [4] "... it is fast and generates very good code." [5] "... is a real, useable product. It produces reasonably good code and supports all the features of C++ as listed in `The C++ Programming Language'." [7] "Unlike the AT&T C++ compiler, it generates native code (instead of generating C, which then must be compiled) and has some debugger support (through gdb+, the C++ version of gdb). This makes compiles faster/more natural but limits portability of the compiler (not of C++)." [7] "... it is a native code compilier which means it can make optimizaitons posible in c++ but not in standard c." [9] Con: ---- "...it just isn't a full implementation of cfront and there are too many bugs for it to be a really acceptable choice for any serious development. There is also the current controversy over whether or not using g++ means it falls under the GNU licensing agreements." [1] "... it isn't error free yet. There are some quarks in it that can be kinda frustrating. But I am sure that most of these problems will be fixed." [4] "The GNU compiler was very nice, but too early in its development cycle for us to be able to depend on it. Essentially, it required too much care and feeding, as versions were being released almost weekly. And then there is the FSF license..." [6] "It is not mature enough that it can be used carelessly, it occasionally breaks on good code and sometimes accepts bad code. It also *doesn't* break sometimes when the AT&T C++ compiler breaks." [7] Cost: FREE ----- In Summary: ----------- There seem to be two big problems with g++: (1) it isn't a finished product yet and there are still bugs, and (2) companies can't sell products produced with FSF software (obviously, this last really isn't a problem for educational sites). GNU seems to produce very fast, high quality compilers. I expect g++ to be something else when it's finished. G++ is available via anonymous FTP from prep.ai.mit.edu or uunet.uu.net Oasys: ====== Pro: ---- "The people I have talked with are *VERY* satisfied." [11] "it works fair, albeit somewhat slow." [12] "Support from OASYS is very good." [12] Con: ---- "It generates C code but they don't give you C source to create your C++ preprocessor with, so you are stuck with whatever machines Oasys decides to support..." [1] "I rejected the Oasys pre-compiler because it *was* a pre-compiler. Maybe I'm a chauvinist, but I likes my code compiled." [6] "We have problems with the debugger which is currently not working (although this may be due to a mistake by us, it is supposed to run)." [12] Cost: ??? ----- In Summary: ----------- I didn't get enough response on this one to get a good feel for it. Try contacting one of the sources listed if you're interested. General Comments: ================= "If you get C++, I also strongly recommend that you get Keith Gorlen's public domain OOPS library, which implements some really useful container classes." [3] "I'd recommend getting both g++ and some other C++ compiler if you're doing anything serious. You will want to do most of your work in g++ as the error messages are better. You will want to validate (and bug fix) using the other one." [7] The following is a blurb I received from Oregon Software (apparently, they read comp.lang.c++). Take it as an advertisement: > > Oregon C++ from Oregon Software (503) 245-2202 is the first true compiler > available for the SUN 3. Oregon C++ is a complete implementation of Bjarne > Stroustrup's language, including his modifications made subsequent to > writing his book. C++ produces more reliable and maintainable code > through the top down, object oriented approach to software design. > > As a true compiler it forgoes the translator step that produces C code, > then compiles it. Removing the translation step permits the implementation > of the Oregon Debugger, a full SOURCE LEVEL DEBUGGER capable of handling > all the C++ language additions including operator overloading, scope > interpretations, objects, and instances. > > Oregon C++ is three compilers in one, with a switch selectable mode between > C++, ANSI C (as currently proposed), and K&R C. ANSI C and K&R C code can > also be debugged using Sun's 'dbx' and 'dbxtool'. > > Oregon Software is committed to keep pace with AT&T's releases of the > language including enhancements. Oregon C++ is compatible with Oregon > Modula-2, and Pascal-2 and existing C libraries. Included on the tape > is the Keith Gorlen's NIH OOPS Class libraries. > > For more information on Oregon C++ contact Ken Cramer, Product Manager > at Oregon Software (503) 245-2202 or via net at ...!uunet!oresoft!ken "C++ is the UNIX language in the future, I'm sure !" [11] List of sources: ---------------- [1] John Danner cracker@jessica.stanford.edu [2] John Shopiro research!shopiro [3] Gordon Durand gad@cadnetix.com [4] Terry Sigle terry@se-sd.SanDiego.NCR.COM [5] Neal neal@cs.rochester.edu [6] Dave Steinhoff ...uunet!amara!des [7] Franz Amador franz@june.cs.washington.edu [8] Jason Scheck jasons@tekred.CNA.TEK.COM [9] Eric Brown brown@galaxy.ee.rochester.edu [10] Mark Surles surles@cs.unc.edu [11] Bertil Reinhammar ...!uunet!mcvax!enea!rainier!bertil [12] Torbjorn Kronander ...!uunet!mcvax!enea!rainier!joakim!tobbe I hope this was informative for everyone. I can't say which choice we'll make, but all of this info certainly helped. Cheers! Hal -- ______________________________________________________________________________ |UUCP: ...!rutgers!bpa!swatsun!pomeranz | Living on a lighted stage |CS Net: pomeranz@cs.swarthmore.edu | approaches the unreal... |BitNet: vu-vlsi!swatsun!pomeranz@psuvax1.bitnet | -Rush