home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / useful / reviews / software / programmer / comeauc++ < prev    next >
Internet Message Format  |  1992-05-05  |  8KB

  1. From: honp9@menudo.uh.edu (Jason L. Tibbitts III)
  2. Organization: Blob Shop Programmers
  3. Subject: REVIEW:  Comeau C++ compiler
  4. Keywords: programming, language, C++, compiler
  5. Distribution: world
  6. Newsgroups: comp.sys.amiga.reviews
  7. Followup-To: comp.sys.amiga.programmer
  8. Reply-To: tron1@tronsbox.xei.com (Kenneth Jamieson)
  9.  
  10. This is a good product on the whole.  I would recommend it to anyone who
  11. has an interest or need for C++.  The compiler is mature and stable, and
  12. well tested.  The driver needs major work but that is on the way and NOT
  13. fatal.  Out of a score of 100 this is an 80, and worth the $250.
  14.  
  15.  
  16. (c) 1991 Kenneth Jamieson
  17.  
  18. The following is a review of the Comeau Computing C++ compiler.  Info
  19. on how to order and where to contact the company are at the end.
  20.  
  21.  
  22.     Well, as anyone who has worked with C++ in any form knows, this
  23. language and the Amiga were meant for each other.  The Amiga's GUI interface
  24. is very clean to start with in most cases, and all GUI's are a perfect
  25. candidate for the object features in C++.
  26.  
  27.     The one previous attempt to bring C++ to the Amiga was by Lattice
  28. Inc. in 1988.  That effort was a failure because of many reasons.  One of them
  29. is that the Amiga world was still un-aware of C++ (as was most of the
  30. world).  Now, with the fate of the Amiga and Unix tied together, it is time
  31. to look at this again.  C++ is (arguably) becoming the language of choice
  32. for Unix GUI programmers... and Amiga programmers are starting to hear the 
  33. term more and more.
  34.  
  35.     Comeau C++ is NOT a complete development system.  The 250$ price
  36. gives you the Amiga binary for "Cfront 2.1", AT&T's C++ -> C translator. 
  37. This is the standard method of writing in C++ under Unix as well.  You get the 
  38. needed header files and so on as well.  This means that you need SAS/C 5.10a
  39. to use this product.  It will also generate ANSI style C, and so any good 
  40. ANSI compiler should be able to replace SAS/C.  In addition, it should be noted
  41. that if you have the Lattice C++ product, the "cpp" pre-processor can be
  42. used to enhance your productivity.  Comeau has stated that they will be
  43. releasing their own pre-processor soon, and that you can also use the one
  44. that comes with SAS/C in most cases.
  45.  
  46.     The distribution is on one floppy disk, and is no real problem to
  47. install.  My disk had an error on it in the Install program, so I had to
  48. do it by hand.  The process is simple and fast.
  49.  
  50.     The packaging of the product is adequate.  There is a binder that
  51. has the product specs and language information, and a insert with the 
  52. Amiga instructions. 
  53.  
  54.  
  55.                  ************
  56.                  INSTALLATION
  57.                  ************
  58.  
  59.  
  60.     The product installs in a painless manner, and I gather the
  61. Install program would have made it easier.
  62.  
  63.     The steps are:
  64.  
  65.     1) Make a directory for the compiler.
  66.  
  67.         Make a SEPARATE directory tree for this product, it does
  68.        NOT replace any of your SAS/C files.
  69.  
  70.     2) Install the files.
  71.  
  72.         By hand or with the Install program.
  73.  
  74.     3) Make assigns.
  75.  
  76.         The Install program will help, but basically there
  77.        are a few you need...
  78.  
  79.        CC21c:       - All the executable programs
  80.        CC21lib:     - The libraries
  81.        CC21include: - The include files
  82.        QUAD:    - Should already be here for SAS/C anyway.
  83.  
  84.     4) Add CC21c: to your path.
  85.  
  86.         Self explanatory.
  87.  
  88.     5) Run the "include" program.
  89.  
  90.         You have to do this once.  Comeau does NOT distribute a full
  91.         set of header files.  This program will take your existing
  92.         C header files and "C++"-ize them.
  93.  
  94.     6) Copy "como.rexx" to "REXX:"
  95.  
  96.         The compiler is driven by a Arexx program.
  97.  
  98.     7) Test the compiler.
  99.  
  100.         Go to an example directory and use "como"....
  101.  
  102.          cd ccTest
  103.         como cctest.c
  104.         cctest
  105.  
  106.     
  107.                  ************
  108.                    COMPILER
  109.                  ************
  110.  
  111.                NOTE !! NOTE !! NOTE !!
  112.  
  113.     This portion of the review applies ONLY to the Arexx driver, and
  114. so should NOT be taken as a reflection on the "cfront" port.  All the
  115. problems in here can be overcome by some Arexx programming (watch for my 
  116. driver soon) and, while annoying, are NOT fatal.
  117.  
  118.     The "como" command is the hub of the compiler.  Those using C++
  119. can equate this to a "CC".  And there is problem number one.  It doesn't act
  120. ANYTHING like CC.  This will make it difficult for anyone who is new from the
  121. UNIX world.
  122.  
  123.     In addition, "como" is just not good enough to do real production 
  124. work with in my opinion.  It is a good example of Arexx programming 
  125. though and easy to modify so this can be overcome. 
  126.  
  127.     The problems are ... 
  128.  
  129.     1) No mixed language compiles.
  130.  
  131.         All source files must be named "*.cp"
  132.  
  133.     2) Non-standard command line options.
  134.  
  135.         This was livable under SAS/C, there was no standard for
  136.         command line options.  But with a C++ product, there is
  137.         a standard....  AT&T.  It should be used.
  138.  
  139.     3) No support for libraries on the command line.
  140.  
  141.         This is not really forgivable. 
  142.  
  143.     4) No support for .o's on the command line.
  144.  
  145.         See point #3.
  146.  
  147.  
  148.  
  149.     So let's face fact folks, this Arexx script needs a major 
  150. overhaul.  Now, this is a serious problem, but NOT fatal.  I overcame
  151. most of the problem with a weekend of Arexx hacking... but it was silly to
  152. do that to get use out of a 250$ dollar product.
  153.  
  154.     The supplied driver is ok for basic hello world types, but write
  155. your own driver or makefile for real work.
  156.  
  157.     NOTE: I spoke with Greg at Comeau, they are aware of this, and there
  158. is a free upgrade policy in place for the pre-processor and a new driver
  159. when it shows up.
  160.  
  161.     NONE of these problems are inherent.  In other words, cfront can take
  162. C or C++ files, and .o and libraries can be linked in, but the Arexx script
  163. doesn't understand that. 
  164.  
  165.  
  166.  
  167.                  ************
  168.                    LANGUAGE
  169.                  ************
  170.  
  171.  
  172.     This is the good side. 
  173.  
  174.     This is a 100% complete AT&T 2.1 port.  Multiple inheritance and
  175. all the other features of "real" C++ are supported.  There are no new bugs that
  176. aren't also in the UNIX world, and this compiler is a good way to gain
  177. experience in a language that will make you a valuable employee at a new
  178. job and look good on your resume.
  179.  
  180.     I ported and compiled a complicated Unix program I had written, that
  181. compiles 6 mixed C and C++ files into two libraries, compiles two more
  182. test C++ programs and links them with the libraries.
  183.  
  184.     After I had hacked the Arexx script into a usable if ugly form,
  185. it all went along without a hitch.  Prefect.
  186.  
  187.     There are by the way, no Amiga specific classes in the 
  188. compiler.  This is straight C++.  You can use the Amiga with the normal C 
  189. calls and interface, or write your own class library for it.
  190.  
  191.  
  192.  
  193.                  ************
  194.                    OVERVIEW
  195.                  ************
  196.  
  197.     This is a good product on the whole, and we desperately need a full
  198. C++ 2.1 on the Amiga.  I would recommend it to anyone who has an
  199. interest or need for C++.  I would DEFINITELY tell anyone with Lattice C++ to
  200. get it.
  201.  
  202.     The compiler is mature and stable, and well tested.  The driver needs
  203. major work but that is on the way and NOT fatal.  Out of a score of 100 this
  204. is an 80, and worth the $250.
  205.  
  206.     The company is nice, and UPS Blue shipping is free.  COD or 
  207. prepay check are needed for ordering.  The technical support is fantastic when
  208. I needed details on the como.rexx driver, they listened well to my suggestions,
  209. and kept me informed about my order status.
  210.  
  211.     Have fun!
  212.  
  213.  
  214. Comeau Computing
  215. 91-34 120th St.
  216. Richmond Hill, NY 11418
  217. (718)-945-0009
  218. BIX: comeau
  219. Compuserve: 72331,3421
  220. Usenet: uunet!attmail!csanta!c++
  221. -- 
  222. ========[ Xanadu Enterprises Inc. Amiga & Unix Software Development]=======
  223. = "I know how you feel, you don't know if you want to hit me or kiss me - =
  224. =  --- I get a lot of that."  Madonna as Breathless Mahoney (Dick Tracy)  =
  225. =========== Ken Jamieson: uunet!tronsbox.xei.com!tron1  ===================
  226. =     NONE of the opinions represented here are endorsed by anybody.      =
  227. === The Romantic Encounters BBS 201-759-8450(PEP) / 201-759-8568(2400) ==== 
  228.  
  229.