home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.amiga.reviews
- Path: menudo.uh.edu!usenet
- From: stelmack@eggo.csee.usf.edu (Gregory M. Stelmack)
- Subject: REVIEW: SAS/C Compiler version 6.00
- Message-ID: <1992Oct1.154217.5111@menudo.uh.edu>
- Followup-To: comp.sys.amiga.programmer
- Keywords: C compiler, development, programming, commercial
- Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
- Nntp-Posting-Host: karazm.math.uh.edu
- Reply-To: stelmack@eggo.csee.usf.edu (Gregory M. Stelmack)
- Organization: The Amiga Online Review Column - ed. Daniel Barrett
- Date: Thu, 1 Oct 1992 15:42:17 GMT
-
-
- [MODERATOR'S NOTE: On October 2, 1992, Doug Walker of SAS
- (walker@unx.sas.com) responded to this review by e-mail. I have
- enclosed his comments at appropriate places below.]
-
- PRODUCT NAME
-
- SAS/C Compiler for AmigaDOS, version 6.00
-
- BRIEF DESCRIPTION
-
- SAS/C 6.00 is a C development environment, including editor,
- compiler, linker, debugger, on-line help, and a number of useful utilities.
- [Moderator's note: the debugger is not reviewed.]
-
- AUTHOR/COMPANY INFORMATION
-
- USA: SAS Institute, Inc.
- Book Sales
- SAS Campus Dr.
- Cary, NC 27513
- Telephone: (919) 677-8000
- FAX: (919) 677-8166
-
- Europe: SAS Institute GmbH
- PO Box 10 53 07
- Neuenheimer Landstrasse, 28-30
- 6900 Heidelberg 1
- Telephone: (49)6221-4150
- FAX: (49)6221-474850
-
- New Zealand: SAS Institute (NZ) Ltd.
- PO Box 10-109, The Terrace
- Wellington, New Zealand
- Telephone: (64)4-4727-595
- Telex: NZ31525 MED
- FAX: (64)4-4727-055
-
- Australia: SAS Institute Australia Pty. Ltd.
- Private Bag No. 52
- Lane Cove, NSW 2066
- Telephone: (61)2-428-0428
- FAX: (61)2-418-7211
-
- E-mail: For technical support, see below
-
- LIST PRICE
-
- Suggested retail is $395 US, although I have seen it for $290.
- Educational price is $197.50, as is the price if you trade up from a
- different compiler. Upgrades from SAS/C 5.xx are $109. Shipping is
- extra.
- [MODERATOR'S NOTE: SAS reports that "shipping inside the USA is
- free. Shipping to Canada and outside the USA is extra. European
- customers need to contact SAS Insitute in Germany to determine their
- policy on shipping."]
-
- SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
-
- HARDWARE
-
- Requires 1 megabyte of RAM. Some features need 2 megabytes.
-
- 2 floppy drives are required, but a hard drive is STRONGLY
- recommended. Uses around 5 megabytes of hard drive space,
- although this varies with how much you choose to install.
-
- Works with any Motorola CPU, although a faster CPU leads to
- faster compiles.
-
- SOFTWARE
-
- At least AmigaDOS 1.3. Enhanced operation with 2.0 plus.
-
- COPY PROTECTION
-
- None. Hard drive installable.
-
- REVIEW
-
- Well, the long-awaited upgrade to the SAS/C Compiler for AmigaDOS is
- finally available. Mine arrived a few days ago, and I have been tinkering
- with it extensively since then. I haven't been able to get in-depth into
- its more complicated features yet, but have a fairly good feel for how it
- works overall. If my impressions change very much, I'll post a follow-up
- review.
-
- SAS/C is a complete development environment. In addition to the
- compiler and linker, the package includes an editor, source-level debugger,
- assembler (mostly for writing assembly functions for C programs), an on-line
- help facility, sample source code, and a bunch of small, useful utilities.
- Quite a bit has changed since the 5.xx releases.
-
- The first step when I got the new compiler was to install it. Since
- all the program names have changed, and the header files updated, I first
- deleted my old Lattice C area. Then, I ran the install program included on
- Disk 1. It asks you what parts of the compiler you want installed (allowing
- you to leave out the debugger, or editor, or anything else you would prefer
- not to use). It also asks for compressed or uncompressed header files.
-
- The only thing I left out was the Cross-Debugger. This lets you run
- the program on one machine, and the debugger on another. Having only one
- Amiga, I left it out. I also stored uncompressed headers for two reasons:
- this makes them easier to view on-line, and with the addition of GST's
- (Global Symbol Tables), they don't slow down the compile.
-
- Once the system was installed, I next had to modify all my icons to
- point to the new utilities ("se" instead of "lse", etc.). Fortunately, the
- new "scsetup" program can go into a project and create icons for any files
- that don't have them. So, I deleted all the icons in my projects using SID,
- and then ran "scsetup" on the drawers. Presto! Instant icons for all my
- source files. Then I just had to change my options using the scoptions
- utility.
-
- Of course, on later perusal of the documentation I discovered this
- neat command line switch for "scsetup" called "FORCE". It will force
- "scsetup" to create icons in the drawer even if icons already exist. That
- removes my step of deleting the icons first. I recommend you use that
- switch if upgrading from 5.xx.
-
- Now I was ready to code. Things work like they did in 5.10 -- there
- are icons for each source file, and you double-click on the icon to edit it.
- To create a new file, click on the 'Edit' icon, and give it a name. "se"
- will create an icon for you. The editor now has a file requester if you run
- under 2.0 (it uses the ASL requester), and lets you mark blocks of text by
- dragging the mouse. In addition, it has a complete ARexx interface,
- allowing you to write your own scripts. It can also run ARexx commands, and
- several are provided, one of which gives access to the on-line help facility.
-
- After editing, make sure you set your options with the Options
- utility. This lets you specify your compiler options in an Intuition
- environment. Once you get your options straight, click the "Build" icon, and
- the compiler goes to work.
-
- If you really like using the CLI, be warned that 6.00 uses a
- different style of command-line switch. They now use the AmigaDOS style.
- This means that there are full English-text words for compiler options.
- CPU=68030 tells the compiler to generate code optimized for the 68030, for
- example. In addition, switches are no longer just toggles, something that
- caused problems in 5.10.
-
- The new version has vastly improved error messages to help you
- pinpoint errors. In addition, it presents them in a small window that is
- part of the message browsing facility. If you have specified the
- 'NoErrorRexx' option, it will automatically open "se" to the spot of any
- error. Clicking the error message in the browser will do the same thing.
- If 'ErrorRexx' is specified to the compiler, an ARexx facility is opened,
- allowing you to use any editor in the same way. I use "se", so I have not
- much explored this option.
-
- [MODERATOR'S NOTE: SAS reports that "The message browser window
- gets messages if the ErrorRexx option is enabled. ErrorRexx is
- AUTOMATICALLY enabled if you compile from WorkBench. You can teach
- the browser how to talk to your editor; once you have done this, you
- can double-click on the message and it will invoke your editor for
- you, then talk to it via ARexx to move to the correct file and line
- number. Therefore, the "ARexx facility" that you mention is
- actually the message browser itself. Macros to bind the message
- browser to SE, CygnusEd and TurboText are provided."]
-
- If everything goes OK, you are now ready to run you program. If
- something goes wrong, you can then run the debugger. I have not had a chance
- to play with the debugger yet, so I can't give a first-hand account.
- However, it is supposed to boast an improved interface, and more importantly
- let you enter C expressions to display, instead of just variable names.
- That fixes one of the biggest gripes people have had about CPR.
-
- One of the other big additions are GSTs, or Global Symbol Tables.
- Essentially, you compile your program once with the MakeGST option. This
- compiles all of your header files ONLY, and creates a GST. Then, when you
- later compile, you specify a GST to use. Before a header file gets included,
- the compiler searches the GST. If that file is found, the precompiled
- information in the GST is used. Since GST's stay in RAM, disk access is
- avoided, and the compiles go much faster.
-
- More importantly, the GSTs in RAM are able to be browsed. A
- facility called HyperGST is included for this purpose. Any GST in memory may
- be browsed. This means that you can look up your structure definitions while
- in the editor OR the debugger, without having to go hunting through the
- header files looking for it.
-
- AmigaGuide is now used for on-line help. All aspects of the compiler
- have AmigaGuide help files. This includes all the utilities, as well as the
- actual library functions. No more reaching for the books when you have a
- question on the parameters for a function.
-
- Another new addition is not part of the actual compiler. SAS now has
- an E-mail address for technical support. This new facility is called EMITS,
- for Electronic Mail Interface to Technical Support. There are complete
- instructions on using it with the documentation, but a brief description
- follows: You first need to register, sending e-mail with a few specified
- lines telling them your name, registration number, and phone number. They
- will then send you more detailed instructions on reporting problems. When
- you do report a problem, you are given a tracking number, which you include
- with all future correspondence on that problem. In this manner, one person
- is assigned who will take care of you through the entire lifetime of the
- problem to make sure it gets straightened out.
-
- Well, with such a big product, I'm sure I missed something. But that
- should cover the most important points.
-
- LIKES AND DISLIKES
-
- SAS/C 6.00 is MUCH improved over earlier releases. Some of the high
- points that hit me right away:
-
- 1) "se" now lets you mark text with the mouse.
-
- 2) An ARexx macro is included for "se" that, when attached to a key,
- lets you put the cursor on a SAS library call and hit the key. This
- will pop up the online help to the page containing that function.
-
- 3) Easy updating of your old 5.xx project icons to the new 6.00
- icons using the "scsetup" and 2 other utilities.
-
- 4) Recompiling one of my software products cut the code size from
- 94,000 bytes to 90,000 without changing any options.
-
- 5) Compiles are faster, thanks to the use of shared libraries.
-
- 6) A utility called "schelp" is included which gives you hot-key
- access to the on-line help. Hit CTRL-HELP, and it pops up.
-
- 7) If the compiler finds an error in a header file, it not only pops
- up the C source file it was compiling, but will now also open the
- header file and take you to the line that caused the problem.
-
- I am sure there will be more, as I've only been playing around with
- it for a few days.
-
- My only real dislike at the moment is that I don't have a flicker
- fixer, and thus run a non-interlaced workbench. With the help facility,
- message browser, and editor up, I run out of screen space fast.
-
- One improvement I would like to see is an amigaguide file for the
- system autodocs. All the SAS/C functions are on-line, but none of the
- AmigaDOS ones. If this has been done, I would appreciate a pointer to the
- file.
-
- [MODERATOR'S NOTE: SAS reports that "A utility comes with the
- AmigaGuide developers' kit that will convert autodocs as provided by
- Commodore to AmigaGuide format. The reason we don't provide any
- AmigaGuide files for the autodocs is that we expect most developers
- to get AmigaGuide from Commodore soon (Commodore plans to take steps
- to make it more widely available) and you'll be able to keep your
- documentation more current by rerunning the utility on each set of
- autodocs."]
-
- COMPARISON TO OTHER SIMILAR PRODUCTS
-
- I have only used other C compilers on the Amiga a little bit, so I
- can't do detailed comparisons on code generation, etc. I can say that SAS
- has a much nicer interface and is easier to work with than the other
- compilers I have used. I have done extensive coding on various mainframe
- platforms, and like the feel of SAS/C on the Amiga much better than any
- other development environment I have used. I have found others that beat it
- in particular areas, but none that have been as well-rounded. SAS/C always
- has had something the other environments didn't.
-
- BUGS
-
- I have found 2 bugs so far, both of which were promptly responded to
- by SAS. The first is that in the editor "se", if you have your options set
- to "Use the TAB character for TABs" and "Auto Indent", the program WILL
- crash when inserting lines. This has been fixed and will be available in
- the first set of patches. For now, use "Expand TABs to spaces" as the
- easiest workaround.
-
- The second was with registering for EMITS. It didn't seem to like
- my old Lattice-style registration number. Again, SAS cleaned this up pretty
- quick, and it seems to work OK now.
-
- Besides that, everything is clean. I would like to emphasize that
- SAS was EXTREMELY quick in responding to and cleaning up these problems.
-
- SUPPORT
-
- See above. Basically, I had GREAT support when I found the above two
- problems.
-
- WARRANTY
-
- I could not find information on the warranty -- it was probably on
- the disk envelope, which I threw away soon after opening (blush). SAS has
- been very good on other problems, and I would expect them to be just as good
- if you receive bad disks. And, of course, always back up your originals!
-
- [MODERATOR'S NOTE: SAS reports that "It is on the envelope. It's
- basically a 90-day warranty on media defects, but we have always
- helped registered customers out in the past if they have some kind
- of catastrophe and lose all copies of the product."]
-
- CONCLUSIONS
-
- Over all, I am quite impressed with the new compiler environment. I
- think that is one of the most important points to stress -- SAS/C is a an
- entire development environment, including everything you need to get going.
- In addition to improvements in the code generation, the new on-line help
- facilities and improved user interfaces have made it MUCH easier to do C
- development. Programming on the Amiga has always been FUN, and SAS has now
- made it less WORK. Overall, it is the best all-around development
- environment I have worked with on any platform.
-
- COPYRIGHT NOTICE
-
- Copyright? What Copyright? Spread it around, grant me fame :)
-
-
- ---
-
- Daniel Barrett, Moderator, comp.sys.amiga.reviews
- Send reviews to: amiga-reviews-submissions@math.uh.edu
- Request information: amiga-reviews-requests@math.uh.edu
- General discussion: amiga-reviews@math.uh.edu
-