[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

4676.0. "Comeau C++ compiler" by STAR::GUINEAU (but what was the question?) Fri Apr 12 1991 09:11


Article           24
Path: shlump.nac.dec.com!rust.zso.dec.com!pa.dec.com!decwrl!sdd.hp.com!zaphod.mps.ohio-state.edu!lavaca.uh.edu!menudo.uh.edu!honp9
From: [email protected] (Jason L. Tibbitts III)
Newsgroups: comp.sys.amiga.reviews
Subject: REVIEW:  Comeau C++ compiler
Keywords: programming, language, C++, compiler
Message-ID: <[email protected]>
Date: 10 Apr 91 05:11:04 GMT
Sender: [email protected] (Jason L. Tibbitts III)
Reply-To: [email protected] (Kenneth Jamieson)
Followup-To: comp.sys.amiga.programmer
Organization: Blob Shop Programmers
Lines: 224
Approved: [email protected]
 
This is a good product on the whole.  I would recommend it to anyone who
has an interest or need for C++.  The compiler is mature and stable, and
well tested.  The driver needs major work but that is on the way and NOT
fatal.  Out of a score of 100 this is an 80, and worth the $250.
 
 
(c) 1991 Kenneth Jamieson
 
The following is a review of the Comeau Computing C++ compiler.  Info
on how to order and where to contact the company are at the end.
 
 
	Well, as anyone who has worked with C++ in any form knows, this
language and the Amiga were meant for each other.  The Amiga's GUI interface
is very clean to start with in most cases, and all GUI's are a perfect
candidate for the object features in C++.
 
	The one previous attempt to bring C++ to the Amiga was by Lattice
Inc. in 1988.  That effort was a failure because of many reasons.  One of them
is that the Amiga world was still un-aware of C++ (as was most of the
world).  Now, with the fate of the Amiga and Unix tied together, it is time
to look at this again.  C++ is (arguably) becoming the language of choice
for Unix GUI programmers... and Amiga programmers are starting to hear the 
term more and more.
 
	Comeau C++ is NOT a complete development system.  The 250$ price
gives you the Amiga binary for "Cfront 2.1", AT&T's C++ -> C translator. 
This is the standard method of writing in C++ under Unix as well.  You get the 
needed header files and so on as well.  This means that you need SAS/C 5.10a
to use this product.  It will also generate ANSI style C, and so any good 
ANSI compiler should be able to replace SAS/C.  In addition, it should be noted
that if you have the Lattice C++ product, the "cpp" pre-processor can be
used to enhance your productivity.  Comeau has stated that they will be
releasing their own pre-processor soon, and that you can also use the one
that comes with SAS/C in most cases.
 
	The distribution is on one floppy disk, and is no real problem to
install.  My disk had an error on it in the Install program, so I had to
do it by hand.  The process is simple and fast.
 
	The packaging of the product is adequate.  There is a binder that
has the product specs and language information, and a insert with the 
Amiga instructions. 
 
 
			     ************
			     INSTALLATION
			     ************
 
 
	The product installs in a painless manner, and I gather the
Install program would have made it easier.
 
	The steps are:
 
	1) Make a directory for the compiler.
 
		Make a SEPARATE directory tree for this product, it does
	   NOT replace any of your SAS/C files.
 
	2) Install the files.
 
		By hand or with the Install program.
 
	3) Make assigns.
 
		The Install program will help, but basically there
	   are a few you need...
 
	   CC21c:       - All the executable programs
	   CC21lib:     - The libraries
	   CC21include: - The include files
	   QUAD:	- Should already be here for SAS/C anyway.
 
	4) Add CC21c: to your path.
 
		Self explanatory.
 
	5) Run the "include" program.
 
		You have to do this once.  Comeau does NOT distribute a full
		set of header files.  This program will take your existing
		C header files and "C++"-ize them.
 
	6) Copy "como.rexx" to "REXX:"
 
		The compiler is driven by a Arexx program.
 
	7) Test the compiler.
 
		Go to an example directory and use "como"....
 
 		cd ccTest
		como cctest.c
		cctest
 
	
			     ************
			       COMPILER
			     ************
 
		       NOTE !! NOTE !! NOTE !!
 
	This portion of the review applies ONLY to the Arexx driver, and
so should NOT be taken as a reflection on the "cfront" port.  All the
problems in here can be overcome by some Arexx programming (watch for my 
driver soon) and, while annoying, are NOT fatal.
 
	The "como" command is the hub of the compiler.  Those using C++
can equate this to a "CC".  And there is problem number one.  It doesn't act
ANYTHING like CC.  This will make it difficult for anyone who is new from the
UNIX world.
 
	In addition, "como" is just not good enough to do real production 
work with in my opinion.  It is a good example of Arexx programming 
though and easy to modify so this can be overcome. 
 
	The problems are ... 
 
	1) No mixed language compiles.
 
		All source files must be named "*.cp"
 
	2) Non-standard command line options.
 
		This was livable under SAS/C, there was no standard for
		command line options.  But with a C++ product, there is
		a standard....  AT&T.  It should be used.
 
	3) No support for libraries on the command line.
 
		This is not really forgivable. 
 
	4) No support for .o's on the command line.
 
		See point #3.
 
 
 
	So let's face fact folks, this Arexx script needs a major 
overhaul.  Now, this is a serious problem, but NOT fatal.  I overcame
most of the problem with a weekend of Arexx hacking... but it was silly to
do that to get use out of a 250$ dollar product.
 
	The supplied driver is ok for basic hello world types, but write
your own driver or makefile for real work.
 
	NOTE: I spoke with Greg at Comeau, they are aware of this, and there
is a free upgrade policy in place for the pre-processor and a new driver
when it shows up.
 
	NONE of these problems are inherent.  In other words, cfront can take
C or C++ files, and .o and libraries can be linked in, but the Arexx script
doesn't understand that. 
 
 
 
			     ************
			       LANGUAGE
			     ************
 
 
	This is the good side. 
 
	This is a 100% complete AT&T 2.1 port.  Multiple inheritance and
all the other features of "real" C++ are supported.  There are no new bugs that
aren't also in the UNIX world, and this compiler is a good way to gain
experience in a language that will make you a valuable employee at a new
job and look good on your resume.
 
	I ported and compiled a complicated Unix program I had written, that
compiles 6 mixed C and C++ files into two libraries, compiles two more
test C++ programs and links them with the libraries.
 
	After I had hacked the Arexx script into a usable if ugly form,
it all went along without a hitch.  Prefect.
 
	There are by the way, no Amiga specific classes in the 
compiler.  This is straight C++.  You can use the Amiga with the normal C 
calls and interface, or write your own class library for it.
 
 
 
			     ************
			       OVERVIEW
			     ************
 
	This is a good product on the whole, and we desperately need a full
C++ 2.1 on the Amiga.  I would recommend it to anyone who has an
interest or need for C++.  I would DEFINITELY tell anyone with Lattice C++ to
get it.
 
	The compiler is mature and stable, and well tested.  The driver needs
major work but that is on the way and NOT fatal.  Out of a score of 100 this
is an 80, and worth the $250.
 
	The company is nice, and UPS Blue shipping is free.  COD or 
prepay check are needed for ordering.  The technical support is fantastic when
I needed details on the como.rexx driver, they listened well to my suggestions,
and kept me informed about my order status.
 
	Have fun!
 
 
Comeau Computing
91-34 120th St.
Richmond Hill, NY 11418
(718)-945-0009
BIX: comeau
Compuserve: 72331,3421
Usenet: uunet!attmail!csanta!c++
-- 
========[ Xanadu Enterprises Inc. Amiga & Unix Software Development]=======
= "I know how you feel, you don't know if you want to hit me or kiss me - =
=  --- I get a lot of that."  Madonna as Breathless Mahoney (Dick Tracy)  =
=========== Ken Jamieson: uunet!tronsbox.xei.com!tron1  ===================
=     NONE of the opinions represented here are endorsed by anybody.      =
=== The Romantic Encounters BBS 201-759-8450(PEP) / 201-759-8568(2400) ==== 
 
-- 
Jason L. Tibbitts III  | Moderator: comp.sys.amiga.reviews
"Blob Shop Programmers:| Send submissions to [email protected]
 Because We're Bored!" | Check comp.sys.amiga.reviews for submissions
Disclaimer: Opinions...| guide, disclaimers, etc.               Fnord.
T.RTitleUserPersonal
Name
DateLines
4676.1Noteworthy note...TLE::ALIVE::ASHFORTHThe Lord is my lightFri Apr 12 1991 09:428
Re basenote:

Folks with Lattice C++ *may* want to contact SAS and see if they should expect
any upgrade privileges once their C++ compiler (yes, compiler) is released.
(Should be sometime this year, is currently in alpha test). Of course, if you
can't wait or if you *don't* have Lattice C++...

Bob
4676.2Is Lattice C++ any good? RGB::ROSETue Jun 04 1991 10:201
	Lattice C++ is selling for under $100 these days. Is it worth it?
4676.3 -No- WBC::BAKERJoy and fierceness...Wed Jun 05 1991 13:110
4676.4WHAMMY::spodarykFor three strange days...Wed Jun 05 1991 14:424
Could you elaborate a bit?  I thought most people were reasonably happy
with Lattice's C++.  It has some shortcomings, but is still usable, isn't it?

Steve - also considering some C++ work/learning
4676.5Pardon the brevity...WBC::BAKERJoy and fierceness...Thu Jun 06 1991 13:5523
>Could you elaborate a bit?  

	A couple things about Lattice's C++ implementation:

	1) It only generates output for an old (i.e. wormy and 
	unsupported) version of the Lattice C compiler. (By "un-
	supported", I mean that, if you hit one of the bugs, Lattice
	will simply tell you to get the next level of their C compiler;
	however, C++ won't work with it -- Catch 22)

	2) It's based (at best) on the 2.0 C++ tranlator; this
	translator is, itself, a little wormy.

	I would rather (a) get the Comeau software, or (b) wait for
	SAS' rumored upgrade to the C++ product.

	Especially if you're learning a new language, there's nothing
	more frustrating than wondering whether your program is really
	broken, or whether it's a compiler-bug.

	Regards,
	 Art
4676.6Very old version of the languageTLE::RMEYERSRandy MeyersFri Jun 07 1991 16:3614
Re: .5

>It's based (at best) on the 2.0 C++ tranlator

Actually, it's based on cfront 1.1.  Thus, it is several years behind
the times.  C++ underwent major language changes when cfront 2.0 came
out.  So, Lattice C++ is missing major features of the language:
multiple inheritance, pointers to members, overloaded new and delete,
the modern rules for function overload resolution, ...

As to it being buggy: Sad to say, but all C++ compilers are buggy.  The
AT&T compilers (cfront) are some of the most buggy of all.  The advantage
of going with a cfront based compiler is that you are using the implementation
that has the best claim to be the de facto standard for the language.
4676.7Good InfoRGB::ROSEFri Jun 07 1991 23:242
    	That's good to know. Thanks for the info! I think I'll pass
    on Lattice C++. Looks like you get what you pay for.