[net.micro.cpm] Looking for a good C compiler

GA.OLS%ISUMVS.BITNET@WISCVM.ARPA (Rob Olson) (08/04/86)

I am looking into learning C and I wondered if anyone would have
any suggestions on what compilers are worthwhile.  I have the
following requirements arranged in some sort of order of importance:

1.  Cheap.
2.  I would like a unit that is also available for the IBM PC because
    I am slowly rebuilding my system to be 8088 based.
3.  Something with at least a rotten tutorial since I've never used
    the language.

I have been looking into a compiler from MIX corp. and Dr Dobb's
small Compiler.  If anyone has any comments about these, I'd love to
hear them!

Thanks in advance,
Rob
<F1.REO@ISUMVS.BITNET>

bdale@winfree.UUCP (Bdale Garbee) (08/06/86)

In article <2776@brl-smoke.ARPA> GA.OLS%ISUMVS.BITNET@WISCVM.ARPA (Rob Olson) writes:
>I am looking into learning C and I wondered if anyone would have
>any suggestions on what compilers are worthwhile.
> ...
>I have been looking into a compiler from MIX corp. and Dr Dobb's
>small Compiler.  If anyone has any comments about these, I'd love to
>hear them!

We used the MIX compiler for the PC in a consulting job a while back, and were
not very happy with it.  I wasn't using it myself, so comments are all at 
least second hand, but I think the docs were poor, and the compatibility with
other C compilers seemed to be lacking.  Again, this was about a year ago, and
I wasn't the one hacking with it.

SmallC is fun, and a neat way to learn the language, but I feel it is 
insufficient for doing any "real", large applications.  Sources have been
posted a couple times, and I'm sure you can get an executable by asking 
around.

I used the C/80 compiler for CP/M for quite a while, and was pretty happy with
it.  It can be purchased with the floating point stuff and a good tutorial for
about $100 from several places.  I got mine from Sprite Software, I think.

Currently, the compiler I use the most is the Aztec family from Manx.  The
fact that versions are available for a wide variety of targets is a big plus.
I've got the CP/M and MS-Dos versions, both seem to work pretty well.  Good
correlation with the 4.2bsd compiler, and a fair set of runtimes.  
Unfortunately, Aztec compilers are NOT cheap. 

In any case, get a copy of Kernighan and Ritchie's "The C Programming 
Language"... there may be better tutorials around, and there may be more
complete references for modern compilers, but my graphic-designer girlfriend
learned C with it... and gave it high marks for understandability.

-- 


Bdale Garbee, N3EUA
uucp: {bellcore, crash, hp-lsd, hpcsma, pitt, symmetric, vixie}!winfree!bdale
arpa: bdale@g.cs.cmu.edu	phone: 303/593-9828 h, 303/590-2868 w
fido: sysop of 128/18		packet: n3eua @ wb0blv, Colorado Springs

bill@sigma.UUCP (William Swan) (08/08/86)

In article <76@winfree.UUCP> bdale@winfree.UUCP (Bdale Garbee) writes:
><2776@brl-smoke.ARPA> GA.OLS%ISUMVS.BITNET@WISCVM.ARPA (Rob Olson) writes:
>>I am looking into learning C and I wondered if anyone would have
>>any suggestions on what compilers are worthwhile. [...]
>>I have been looking into a compiler from MIX corp. and Dr Dobb's
>>small Compiler.  If anyone has any comments about these, I'd love to
>>hear them!
>We used the MIX compiler for the PC in a consulting job a while back, and were
>not very happy with it. [...]

I have heard that MIX C is slow, and has a *huge* run-time package.

I've been using BDS C, which works pretty well, but the i/o is non-standard.
It has a few other shortcomings, some of which have been quite irritating,
but all-in-all, it works.

I've a friend who's been using Ecosoft C (for Z80), and rates it quite highly.
It's not cheap, but it's apparently pretty good.

gardner@kodak.UUCP (dick gardner) (08/08/86)

I've used the MIX C compiler under CP/M and find it to be OK for
light and ocassional use.  I wouldn't recommend it for a developer.

It does not compile to assembler, but rather to psuedo-code.  It
creates somewhat large programs, since the the run-time support
must be included (or exist on the system separately)  It doesn't
compare in speed, since it runs sort of like it was an interpreter.
It is complete, with some nice enhancements. The tutorial/manual
is pretty good.  There is a version of MIX C available for the PC.

Since you mentioned the PC, I have just bought a Turbo clone, and
got a copy of ECO-C88 from ECOSOFT for $59.  This is a pretty nice
package, at least for my needs.  It does limit you to a small
memory model, though.(64k)  The manual is adequate, but not great.
The compiler is quite good -- fairly fast and complete.  You must
use the IBM Linker (no problem for me since I'm using PC-DOS).
The only problem I've found is that it is a little difficult to use
on a 'floppy-only' machine.  The size of the libraries means swapping
disks alot.  Since I've gotten my 10 megger, though, it simplified
things greatly. I'm quite happy with this package.
I DO think that I would buy something else if I was in business
writing C programs. (just in case I needed a larger memory model)

I hope this information is helpful.


=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#

             Dick Gardner
             Eastman Kodak Co.
             Rochester, New York  14650
             (716) 477-1002
       UUCP: rochester!kodak!gardner

To err is human -- to really screw it up
		   you need a computer!
=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#
  

jay@ethos.UUCP (Jay Denebeim) (08/15/86)

>I've a friend who's been using Ecosoft C (for Z80), and rates it quite highly.
>It's not cheap, but it's apparently pretty good.

	Depends on what you concider cheap.  Ecosoft C is $49.95.  I like it
alot, but it's HUGE.  I've used bother BDS and Ecosoft, BDS is very fast, and
comes with alot of goodies, but is terribly non-K&R.  Ecosoft is standard,
cheap, and has a good library, but it's slow and the modules have to be very
small to compile under it.

-- 
Jay Denebeim				"One world, one egg, one basket."
UUCP:  {seismo,decvax,ihnp4}!mcnc!rti-sel!ethos!jay
BBS:   Deep Thought, ZNode #42 300/1200/2400 919-471-6436

jon@amc.UUCP (Jon Mandrell) (08/20/86)

In article <687@ethos.UUCP> jay@ethos.UUCP (Jay Denebeim) writes:
>
>	Depends on what you concider cheap.  Ecosoft C is $49.95.  I like it
>alot, but it's HUGE.  I've used bother BDS and Ecosoft, BDS is very fast, and
>comes with alot of goodies, but is terribly non-K&R.  Ecosoft is standard,
>cheap, and has a good library, but it's slow and the modules have to be very
>small to compile under it.
>

I think you are talking about the PC based version.  I purchased ECO-C for
my system and payed $300, along with a high-speed assembler and linker.
I have used it for quite awhile, and I like it.

Some disadvantages:
1) Comments nest.  Some people like this, but it causes problems when I
   want to port code from UNIX, and someone has commented out a line
   like this:
     /* x=2;   /* set x to 2 */
2) It is slow, but that is fairly well made up for by the assembler
   package.
3) It is missing the fread() and fwrite() routines.  They aren't hard
   to write, but it is a bother.
4) A bug:  if you reference off of a pointer using a negative subscript,
   it will crash the compiler.  that is 'x=ptr[-1];'  instead, I use
   'x= *(ptr-1);', which works just fine.

Some advantages:
1) The assembler they provide with it (SLR, at extra cost) is FAST.  They
   say it will manage six times the speed of M80, and it's true.  To those
   people out there still living with M80 and L80, I highly recommend
   changing over.
2) When the compiler gives error messages, they are good, with multiple
   lines of text, and even referencing a page number in the C book that
   comes along with it.
3) It is complete, with all data types supported, nested structures, unions,
   and all of the other little beasties that you want.
4) It provides routines to access the I/O ports, so you don't need to write
   assembly language routines to do this.
5) The manual is good.  They completely cover all of the function library,
   as well as all of the switches.
6) The provide the math functions.
7) You can get source to the libraries (send them floppies and $10).

I have not seen the problem with large modules mentioned, since I have taken
stuff right off of the net, and compiled it.  It does sometimes barf on
switch statements that contain more than about 128(?) cases.

Disclaimer: Just a happy customer.

-- 
Jon Mandrell    (ihnp4!uw-beaver!tikal!amc!jon)
Applied Microsystems Corp.

"flames >& /dev/null" - me