[comp.sys.amiga.reviews] REVIEW: Comeau C++ compiler

honp9@menudo.uh.edu (Jason L. Tibbitts III) (04/10/91)

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 HONP9@menudo.uh.edu
 Because We're Bored!" | Check comp.sys.amiga.reviews for submissions
Disclaimer: Opinions...| guide, disclaimers, etc.               Fnord.