[net.micro.pc] More C Compiler Opinions

jon@fortune.UUCP (Jon Lane) (12/23/84)

Um, at A.I. Design we've been using various PC C compilers for a while and
we have quite a bit of experience in comparing the various compilers.  It
seems like there is a general consensus on the net the that CI-C86 compiler
is the "best", which has not been ourt experience.  Here are the various
compilers that we either are using or have used extensively.

Lattice C:
	Compiles quickly.  Reasonble quality code generated.  I/O Library is
slow and bulky.  Very stable and reliable.  Not very good for moving programs
from UNIX to the PC though.  Supports four different memory models.

CI-C86:
	Compiles slowly and generates worse code than the Lattice compiler.
Source code for the libraries is included and the are more UNIX compatible than
the Lattice ones.  We have had troubles compiling some programs with this
compiler so this is the one we used the least (< 2 weeks).

DeSemet C:
	This is the amazing package of the year.  For about $150 you get a
compiler, assembler, screen oriented editor and SOURCE level debugger.  This
package is tied for the fastest in compilation speed, but wins the overall
speed race by having its own linker which runs faster than the Microsoft linker.

AZTEC C -- Version 2.20:
	This is a just-released update to an older compiler which may become
our compiler of choice.  The compile and link time is comparable to the DeSemet,
but the code is run through a reasonable optimzer.  It does register tracking,
common sub-expression elimination, register variables are supported.
All code for the libraries is included.  It comes with "Z", an editor almost
indistinguishable from VI.  There is also a grep program, and a version of
make (which doesn't work on the first release fo 2.20)  The programs generated
with this compiler are fast and small.  The I/O library is a lot smaller than
the Lattice one too.  There are definitely bugs in the compiler, but they
seem to be fixing them as fast as I can find them.  In a couple of months
I would highly reccommend this package.

	We are using the MANX compiler for the latest version of Rogue
(to try and squeeze Rogue onto the PCjr.)  and we use the Lattice compiler
for our electronic mail package (which has >100k text space).  Small utilities
we used to write with DeSemet (speed of development and Source debugger), but we
are now starting to use the AZTEC compiler for these.

	I'd be glad to give more details on these packages to anyone who is
interested.  I have no relationship to any of the people who produce these
compilers, I just like to see people using th best tools.

			Michael Toy
			(using a friends account)

km@cadre.UUCP (12/24/84)

There will probably never be a clear consensus on what the "best"
compiler is for the simple reason that programming tasks vary and
what is important to individuals varies.

I have had quite a bit of experience with both the lattice and
computer innovations products. While the lattice compiler compiles
more quickly and generates faster running code, my overwhelming
preference is for C86: with a hard disk, the difference in compile
time is not significant. What is more important for me is
portability of programs from a unix environment with a minimum of
hassle and access to the library sources (yes, there ARE bugs).
Also, programs compiled with C86 tend to always run the way you
would predict, and there are not a lot of funny i/o problems,
as with early versions of the lattice compiler. It has also been
my experience that interfacing with the operating system is
easier under C86, and there is virtually no need for coding
anything at the assembly language level. Another string point is
the C86 documentation, which is easier to use for those used to
the unix manuals.

In all fairness, my experience has been with all versions of C86,
from the earliest (running under mp/m 86) to the current, while
I have only used an earlier version of the lattice compiler.