home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / www / cucug / amiga / amiinfo / reviews / sas_c_version6.txt < prev    next >
Text File  |  1997-11-07  |  15KB  |  328 lines

  1. Newsgroups: comp.sys.amiga.reviews
  2. Path: menudo.uh.edu!usenet
  3. From: stelmack@eggo.csee.usf.edu (Gregory M. Stelmack)
  4. Subject: REVIEW: SAS/C Compiler version 6.00
  5. Message-ID: <1992Oct1.154217.5111@menudo.uh.edu>
  6. Followup-To: comp.sys.amiga.programmer
  7. Keywords: C compiler, development, programming, commercial
  8. Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
  9. Nntp-Posting-Host: karazm.math.uh.edu
  10. Reply-To: stelmack@eggo.csee.usf.edu (Gregory M. Stelmack)
  11. Organization: The Amiga Online Review Column - ed. Daniel Barrett
  12. Date: Thu, 1 Oct 1992 15:42:17 GMT
  13.  
  14.  
  15.     [MODERATOR'S NOTE:  On October 2, 1992, Doug Walker of SAS
  16.     (walker@unx.sas.com) responded to this review by e-mail.  I have
  17.     enclosed his comments at appropriate places below.]
  18.  
  19. PRODUCT NAME
  20.  
  21.     SAS/C Compiler for AmigaDOS, version 6.00
  22.  
  23. BRIEF DESCRIPTION
  24.  
  25.     SAS/C 6.00 is a C development environment, including editor,
  26. compiler, linker, debugger, on-line help, and a number of useful utilities.
  27. [Moderator's note:  the debugger is not reviewed.]
  28.  
  29. AUTHOR/COMPANY INFORMATION
  30.  
  31.     USA:        SAS Institute, Inc.
  32.             Book Sales
  33.             SAS Campus Dr.
  34.             Cary, NC 27513
  35.         Telephone:    (919) 677-8000
  36.         FAX:        (919) 677-8166
  37.  
  38.     Europe:        SAS Institute GmbH
  39.             PO Box 10 53 07
  40.             Neuenheimer Landstrasse, 28-30
  41.             6900 Heidelberg 1
  42.         Telephone:    (49)6221-4150
  43.         FAX:        (49)6221-474850
  44.  
  45.     New Zealand:    SAS Institute (NZ) Ltd.
  46.             PO Box 10-109, The Terrace
  47.             Wellington, New Zealand
  48.         Telephone:    (64)4-4727-595
  49.         Telex:        NZ31525 MED
  50.         FAX:        (64)4-4727-055
  51.  
  52.     Australia:    SAS Institute Australia Pty. Ltd.
  53.             Private Bag No. 52
  54.             Lane Cove, NSW 2066
  55.         Telephone:    (61)2-428-0428
  56.         FAX:        (61)2-418-7211
  57.  
  58.     E-mail:        For technical support, see below    
  59.  
  60. LIST PRICE
  61.  
  62.     Suggested retail is $395 US, although I have seen it for $290.
  63. Educational price is $197.50, as is the price if you trade up from a
  64. different compiler.  Upgrades from SAS/C 5.xx are $109.  Shipping is
  65. extra.
  66.     [MODERATOR'S NOTE:  SAS reports that "shipping inside the USA is
  67.     free.  Shipping to Canada and outside the USA is extra.  European
  68.     customers need to contact SAS Insitute in Germany to determine their
  69.     policy on shipping."]
  70.  
  71. SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
  72.  
  73.     HARDWARE
  74.  
  75.         Requires 1 megabyte of RAM.  Some features need 2 megabytes.
  76.  
  77.         2 floppy drives are required, but a hard drive is STRONGLY
  78.         recommended.  Uses around 5 megabytes of hard drive space,
  79.         although this varies with how much you choose to install.
  80.  
  81.         Works with any Motorola CPU, although a faster CPU leads to
  82.         faster compiles.
  83.  
  84.     SOFTWARE
  85.  
  86.         At least AmigaDOS 1.3.  Enhanced operation with 2.0 plus.
  87.  
  88. COPY PROTECTION
  89.  
  90.     None.  Hard drive installable.
  91.         
  92. REVIEW
  93.  
  94.     Well, the long-awaited upgrade to the SAS/C Compiler for AmigaDOS is
  95. finally available.  Mine arrived a few days ago, and I have been tinkering
  96. with it extensively since then.  I haven't been able to get in-depth into
  97. its more complicated features yet, but have a fairly good feel for how it
  98. works overall.  If my impressions change very much, I'll post a follow-up
  99. review.
  100.  
  101.     SAS/C is a complete development environment.  In addition to the
  102. compiler and linker, the package includes an editor, source-level debugger,
  103. assembler (mostly for writing assembly functions for C programs), an on-line
  104. help facility, sample source code, and a bunch of small, useful utilities.
  105. Quite a bit has changed since the 5.xx releases.
  106.  
  107.     The first step when I got the new compiler was to install it.  Since
  108. all the program names have changed, and the header files updated, I first
  109. deleted my old Lattice C area.  Then, I ran the install program included on
  110. Disk 1.  It asks you what parts of the compiler you want installed (allowing
  111. you to leave out the debugger, or editor, or anything else you would prefer
  112. not to use).  It also asks for compressed or uncompressed header files.
  113.  
  114.     The only thing I left out was the Cross-Debugger.  This lets you run
  115. the program on one machine, and the debugger on another.  Having only one
  116. Amiga, I left it out.  I also stored uncompressed headers for two reasons:
  117. this makes them easier to view on-line, and with the addition of GST's
  118. (Global Symbol Tables), they don't slow down the compile.
  119.  
  120.     Once the system was installed, I next had to modify all my icons to
  121. point to the new utilities ("se" instead of "lse", etc.).  Fortunately, the
  122. new "scsetup" program can go into a project and create icons for any files
  123. that don't have them.  So, I deleted all the icons in my projects using SID,
  124. and then ran "scsetup" on the drawers.  Presto! Instant icons for all my
  125. source files.  Then I just had to change my options using the scoptions
  126. utility.
  127.  
  128.     Of course, on later perusal of the documentation I discovered this
  129. neat command line switch for "scsetup" called "FORCE".  It will force
  130. "scsetup" to create icons in the drawer even if icons already exist.  That
  131. removes my step of deleting the icons first.  I recommend you use that
  132. switch if upgrading from 5.xx.
  133.  
  134.     Now I was ready to code.  Things work like they did in 5.10 -- there
  135. are icons for each source file, and you double-click on the icon to edit it.
  136. To create a new file, click on the 'Edit' icon, and give it a name.  "se"
  137. will create an icon for you.  The editor now has a file requester if you run
  138. under 2.0 (it uses the ASL requester), and lets you mark blocks of text by
  139. dragging the mouse.  In addition, it has a complete ARexx interface,
  140. allowing you to write your own scripts.  It can also run ARexx commands, and
  141. several are provided, one of which gives access to the on-line help facility.
  142.  
  143.     After editing, make sure you set your options with the Options
  144. utility.  This lets you specify your compiler options in an Intuition
  145. environment.  Once you get your options straight, click the "Build" icon, and
  146. the compiler goes to work.
  147.  
  148.     If you really like using the CLI, be warned that 6.00 uses a
  149. different style of command-line switch.  They now use the AmigaDOS style.
  150. This means that there are full English-text words for compiler options.
  151. CPU=68030 tells the compiler to generate code optimized for the 68030, for
  152. example.  In addition, switches are no longer just toggles, something that
  153. caused problems in 5.10.
  154.  
  155.     The new version has vastly improved error messages to help you
  156. pinpoint errors.  In addition, it presents them in a small window that is
  157. part of the message browsing facility.  If you have specified the
  158. 'NoErrorRexx' option, it will automatically open "se" to the spot of any
  159. error.  Clicking the error message in the browser will do the same thing.
  160. If 'ErrorRexx' is specified to the compiler, an ARexx facility is opened,
  161. allowing you to use any editor in the same way.  I use "se", so I have not
  162. much explored this option.
  163.  
  164.     [MODERATOR'S NOTE:  SAS reports that "The message browser window
  165.     gets messages if the ErrorRexx option is enabled.  ErrorRexx is
  166.     AUTOMATICALLY enabled if you compile from WorkBench.  You can teach
  167.     the browser how to talk to your editor; once you have done this, you
  168.     can double-click on the message and it will invoke your editor for
  169.     you, then talk to it via ARexx to move to the correct file and line
  170.     number.  Therefore, the "ARexx facility" that you mention is
  171.     actually the message browser itself.  Macros to bind the message
  172.     browser to SE, CygnusEd and TurboText are provided."]
  173.  
  174.     If everything goes OK, you are now ready to run you program.  If
  175. something goes wrong, you can then run the debugger.  I have not had a chance
  176. to play with the debugger yet, so I can't give a first-hand account.
  177. However, it is supposed to boast an improved interface, and more importantly
  178. let you enter C expressions to display, instead of just variable names.
  179. That fixes one of the biggest gripes people have had about CPR.
  180.  
  181.     One of the other big additions are GSTs, or Global Symbol Tables.
  182. Essentially, you compile your program once with the MakeGST option.  This
  183. compiles all of your header files ONLY, and creates a GST.  Then, when you
  184. later compile, you specify a GST to use.  Before a header file gets included,
  185. the compiler searches the GST.  If that file is found, the precompiled
  186. information in the GST is used.  Since GST's stay in RAM, disk access is
  187. avoided, and the compiles go much faster.
  188.  
  189.     More importantly, the GSTs in RAM are able to be browsed.  A
  190. facility called HyperGST is included for this purpose.  Any GST in memory may
  191. be browsed.  This means that you can look up your structure definitions while
  192. in the editor OR the debugger, without having to go hunting through the
  193. header files looking for it.
  194.  
  195.     AmigaGuide is now used for on-line help.  All aspects of the compiler
  196. have AmigaGuide help files.  This includes all the utilities, as well as the
  197. actual library functions.  No more reaching for the books when you have a
  198. question on the parameters for a function.
  199.  
  200.     Another new addition is not part of the actual compiler.  SAS now has
  201. an E-mail address for technical support.  This new facility is called EMITS,
  202. for Electronic Mail Interface to Technical Support.  There are complete
  203. instructions on using it with the documentation, but a brief description
  204. follows: You first need to register, sending e-mail with a few specified
  205. lines telling them your name, registration number, and phone number.  They
  206. will then send you more detailed instructions on reporting problems.  When
  207. you do report a problem, you are given a tracking number, which you include
  208. with all future correspondence on that problem.  In this manner, one person
  209. is assigned who will take care of you through the entire lifetime of the
  210. problem to make sure it gets straightened out.
  211.  
  212.     Well, with such a big product, I'm sure I missed something.  But that
  213. should cover the most important points.
  214.  
  215. LIKES AND DISLIKES
  216.  
  217.     SAS/C 6.00 is MUCH improved over earlier releases.  Some of the high
  218. points that hit me right away:
  219.  
  220.     1) "se" now lets you mark text with the mouse.
  221.  
  222.     2) An ARexx macro is included for "se" that, when attached to a key,
  223.     lets you put the cursor on a SAS library call and hit the key.  This
  224.     will pop up the online help to the page containing that function.
  225.  
  226.     3) Easy updating of your old 5.xx project icons to the new 6.00
  227.     icons using the "scsetup" and 2 other utilities.
  228.  
  229.     4) Recompiling one of my software products cut the code size from
  230.     94,000 bytes to 90,000 without changing any options.
  231.  
  232.     5) Compiles are faster, thanks to the use of shared libraries.
  233.  
  234.     6) A utility called "schelp" is included which gives you hot-key
  235.     access to the on-line help.  Hit CTRL-HELP, and it pops up.
  236.  
  237.     7) If the compiler finds an error in a header file, it not only pops
  238.     up the C source file it was compiling, but will now also open the
  239.     header file and take you to the line that caused the problem.
  240.  
  241.     I am sure there will be more, as I've only been playing around with
  242. it for a few days.
  243.  
  244.     My only real dislike at the moment is that I don't have a flicker
  245. fixer, and thus run a non-interlaced workbench.  With the help facility,
  246. message browser, and editor up, I run out of screen space fast.
  247.  
  248.     One improvement I would like to see is an amigaguide file for the
  249. system autodocs.  All the SAS/C functions are on-line, but none of the
  250. AmigaDOS ones.  If this has been done, I would appreciate a pointer to the
  251. file.
  252.  
  253.     [MODERATOR'S NOTE:  SAS reports that "A utility comes with the
  254.     AmigaGuide developers' kit that will convert autodocs as provided by
  255.     Commodore to AmigaGuide format.  The reason we don't provide any
  256.     AmigaGuide files for the autodocs is that we expect most developers
  257.     to get AmigaGuide from Commodore soon (Commodore plans to take steps
  258.     to make it more widely available) and you'll be able to keep your
  259.     documentation more current by rerunning the utility on each set of
  260.     autodocs."]
  261.  
  262. COMPARISON TO OTHER SIMILAR PRODUCTS
  263.  
  264.     I have only used other C compilers on the Amiga a little bit, so I
  265. can't do detailed comparisons on code generation, etc.  I can say that SAS
  266. has a much nicer interface and is easier to work with than the other
  267. compilers I have used.  I have done extensive coding on various mainframe
  268. platforms, and like the feel of SAS/C on the Amiga much better than any
  269. other development environment I have used.  I have found others that beat it
  270. in particular areas, but none that have been as well-rounded.  SAS/C always
  271. has had something the other environments didn't.
  272.  
  273. BUGS
  274.  
  275.     I have found 2 bugs so far, both of which were promptly responded to
  276. by SAS.  The first is that in the editor "se", if you have your options set
  277. to "Use the TAB character for TABs" and "Auto Indent", the program WILL
  278. crash when inserting lines.  This has been fixed and will be available in
  279. the first set of patches.  For now, use "Expand TABs to spaces" as the
  280. easiest workaround.
  281.  
  282.     The second was with registering for EMITS.  It didn't seem to like
  283. my old Lattice-style registration number.  Again, SAS cleaned this up pretty
  284. quick, and it seems to work OK now.
  285.  
  286.     Besides that, everything is clean.  I would like to emphasize that
  287. SAS was EXTREMELY quick in responding to and cleaning up these problems.
  288.  
  289. SUPPORT
  290.  
  291.     See above.  Basically, I had GREAT support when I found the above two
  292. problems.
  293.  
  294. WARRANTY
  295.  
  296.     I could not find information on the warranty -- it was probably on
  297. the disk envelope, which I threw away soon after opening (blush).  SAS has
  298. been very good on other problems, and I would expect them to be just as good
  299. if you receive bad disks.  And, of course, always back up your originals!
  300.  
  301.     [MODERATOR'S NOTE:  SAS reports that "It is on the envelope.  It's
  302.     basically a 90-day warranty on media defects, but we have always
  303.     helped registered customers out in the past if they have some kind
  304.     of catastrophe and lose all copies of the product."]
  305.  
  306. CONCLUSIONS
  307.  
  308.     Over all, I am quite impressed with the new compiler environment.  I
  309. think that is one of the most important points to stress -- SAS/C is a an
  310. entire development environment, including everything you need to get going.
  311. In addition to improvements in the code generation, the new on-line help
  312. facilities and improved user interfaces have made it MUCH easier to do C
  313. development.  Programming on the Amiga has always been FUN, and SAS has now
  314. made it less WORK.  Overall, it is the best all-around development
  315. environment I have worked with on any platform.
  316.  
  317. COPYRIGHT NOTICE
  318.     
  319.     Copyright? What Copyright? Spread it around, grant me fame :)
  320.  
  321.  
  322. ---
  323.  
  324.    Daniel Barrett, Moderator, comp.sys.amiga.reviews
  325.    Send reviews to:    amiga-reviews-submissions@math.uh.edu
  326.    Request information:    amiga-reviews-requests@math.uh.edu
  327.    General discussion:    amiga-reviews@math.uh.edu
  328.