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.