From: honp9@menudo.uh.edu (Jason L. Tibbitts III) Organization: Blob Shop Programmers Subject: REVIEW: Comeau C++ compiler Keywords: programming, language, C++, compiler Distribution: world Newsgroups: comp.sys.amiga.reviews Followup-To: comp.sys.amiga.programmer Reply-To: tron1@tronsbox.xei.com (Kenneth Jamieson) 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) ====