T.R | Title | User | Personal Name | Date | Lines |
---|
457.1 | dir /title="c " | BACH::TENNY | ADB(1) - words fail me. | Wed Apr 15 1987 09:47 | 11 |
|
See note 6.* for some discussion of C compilers.
There are only two commercial compilers that I know of,
MANX and LATTICE. In several months there may be a
public domain C compiler (courtesy of Mr. Fish), but
it will produce terrible code I suspect.
Anyway, my $.02 (how much is this in yen?):
I own both Manx and Lattice, I prefer Manx.
Dave
|
457.2 | | ECC::JAERVINEN | Down with gravity! | Wed Apr 15 1987 10:05 | 11 |
| re .1:
What does yen have to do with Switzerland?? (I know this note doesn't
belong here but I couldn't resist asking).
I have hardly any experience yet, but a lot of people seem to recommend
Manx (faster compile, faster & smaller code). I think it costs $300
list in US, so you should get it for maybe "240 in practice.. just
try to arrange a business trip across the big pond... :-)
|
457.3 | yen again | BIZET::TENNY | ADB(1) - words fail me. | Wed Apr 15 1987 13:07 | 7 |
| ... the yen had nothing to do with Switzerland,
just the declining value of the dollar against yen ...
never mind.
Dave
|
457.4 | | BAGELS::BRANNON | Dave Brannon | Wed Apr 15 1987 15:04 | 9 |
| the advantage of Lattice over Manx i've heard (i don't have Manx)
is that you get to spend more time fixing your bugs instead of
coding around bugs in the compiler. The disadvantage is larger
executable files.
most of the newer programs are written in Manx. Most of the older
stuff (including the examples in the RKM) is written in Lattice.
-dave
|
457.5 | | TLE::ANDERSON | Mike Anderson | Wed Apr 15 1987 18:31 | 13 |
| I think the bugginess of Manx has been exaggerated. The problems
associated with defaulting to 16 bit integers (not bugs, of course) are
not that hard to deal with once you get used to it (e.g., appending 'L'
to integer literals on calls becomes second nature), and you can
eliminate the problem altogether by invoking the compiler with the
appropriate switches. Also, the generated code is not only smaller,
but it is also faster, according to benchmarks I've seen. (Maybe
that's not true anymore with the newest version of Lattice C, but I
haven't heard of any benchmarks to that effect.) Compiles are also
significantly faster, since it's a one pass compiler, and don't
underestimate the value of being able to precompile your include files.
Aztec C isn't perfect but it's quite a nice package. But then I've
never used Lattice C . . . .
|
457.6 | what happened to $100 C compilers? | BAGELS::BRANNON | Dave Brannon | Wed Apr 15 1987 19:33 | 17 |
| are there any $100 C compilers?
Flame ON>>
One of the reasons i bought my amiga was to learn to program in
C on a great computer. I found Amiga (Lattice) C in a pile of
dust for $119 at Computer Mart in Nashua. Even that price is
a bit high for the amount of time i spend programming with it.
The list price of the cheapest version of Lattice 3.10 is $225.
How much is the cheapest version of Manx?
Flame OFF>>
Can you imagine a whole generation of Amiga 500 owners programming
in AmigaBasic because the cheapest C compiler costs 1/3 of their
Amiga 500???
-dave
|
457.7 | Manx has speed; Lattice, features | TLE::RMEYERS | Randy Meyers | Thu Apr 16 1987 06:35 | 54 |
| Re: .5
I think that claims of Manx being buggy are either due the the "int means
long" mode of the previous version of the compiler (this mode was not
supported) or the just released version of the compiler (several patches
have been released on Usenet).
Re: .0
Manx produces smaller, faster code. In addition, Manx is a smaller, faster
compiler.
However, the latest Lattice compiler (version 3.10) supports the small
code/small data model, so extreme difference in code size no longer
exists.
Version 3.10 also supports ffp floating point mode, so those people who
like fast but imprecise math are happy. This means that Lattice and Manx
no longer have the great difference in floating point performance. (The
latest Manx compiler supports IEEE floating point mode, so if you like
precise but slow math, you no longer have to go with Lattice).
In general, I think that the size and speed of code generated by the two
compilers is starting to get close, with an advantage still going to
Manx. In the previous versions of both compilers, Manx had a factor of
two or three advantage in some cases.
Lattice's main selling points are: It is closer to conforming to the
ANSI draft standard for C and has a larger function library (about 300
functions).
One of the ANSI C language differences between Lattice and Manx is that
Lattice supports function prototypes. This allows you to get argument
type checking for function calls. The Lattice supplied .h files include
prototypes for the standard library functions, so you get full argument
checking for them. A couple of times I have found bugs in public domain
software simply by compiling the code and discovering that someone left
out the file pointer argument in a call to fputs.
So, my summary is:
If the size and speed of the generated code is the most important thing
to you, buy Manx.
Unless you have two floppy drives, or a hard drive, or extended memory
buy Manx. (Lattice requires least one of the three above alternatives
to be practical.)
If compile speed is the most important thing to you, and you do not have
extended memory, buy Manx. If you do have extended memory, compile-link
times become far shorter and less important.
If the most important thing to you is language features and ANSI
conformance, buy Lattice.
|
457.8 | There is an Amiga C upgrade! | LABC::GRAY | | Fri Apr 24 1987 22:42 | 11 |
| re .6
The compiler you have labeled "Amiga C" (presumably in a white folder
with a logo on the front from Amiga) is actually Lattice C V3.03.
Lattice will *upgrade* you to V3.10 for something on the order of
$75.00. Call Lattice to find out the specifics. (I called for
this info a while back and never actually got around to the upgrade...
sigh...I also defected to Manx.)
Note: V3.10 Lattice has the V1.2 operating system "#include" libraries
in it. (V3.4 Manx supports the V1.2 system.)
|