[comp.sys.amiga.tech] Lattice vs. Aztec C what of it?

00jeeaton@bsu-ucs.uucp (MIGHTY MERLIN) (12/12/90)

Friends..

I am interested in programming in C.
I know a little bit about it.
I'm fluent with Pascal.

My question for anyone out there who knows is this:

What are the big differences between the newest version of the Lattice C
complier and the Aztec compiler?  I'll be purchasing one of these soon.
I would greatly appreciate any information that anyone wants to share.

Thanks in advance--
 
--------------------------------------------------------------------------------
|        //      MIGHTY MERLIN  |UUCP:00jeeaton@bsu-ucs.uucp                  |
|       //   "The sage of might"|bitnet:00jeeaton@bsuvax1.bitnet              |
|   \\ //                       |internet:00jeeaton@bsu-ucs.bsu.edu           |
|    \X/                        |     bsu-cs!bsu-ucs!00jeeaton                |
--------------------------------------------------------------------------------

mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) (12/13/90)

In article <52153@bsu-ucs.uucp> 00jeeaton@bsu-ucs.uucp (MIGHTY MERLIN) writes:
   Friends..

   I am interested in programming in C.
   I know a little bit about it.
   I'm fluent with Pascal.

   My question for anyone out there who knows is this:

Rather than spending money on one of those, I recommend you find
someone local with the Fish disks, and get one of the three or 4
freely distributable C compiles. I haven't used any of them, but know
of people who've used them all. From what I've heard, DICE is the
best, and has the advantage that you can get a "complete" distribution
that includes the Amiga-specific includes by registering it.

Note: this is suitable for unix-like programming on the Amiga. You'll
need the include files that are licensed by CBM in order to do
amiga-specific things. But for just fooling with C, what's in the
packages should get you started.

BTW, I use Lattice. Excellent product, with excellent support. The
latter is the cricital issue.

	<mike
--

swalton@solaria.csun.edu (Stephen Walton) (12/18/90)

In article <MWM.90Dec12160245@raven.relay.pa.dec.com>, mwm@raven (Mike
(My Watch Has Windows) Meyer) writes:

>DICE

Agreed.  The test-it-yourself version of DICE is very nice, and very
comfortable for someone who's used Unix.  I can't justify using it
until Matt puts in in-line 68881 code generation, though.

>BTW, I use Lattice. Excellent product, with excellent support. The
>latter is the cricital issue.

I use Manx.  Excellent product, increasingly poor support.  If I had the $$
for a new compiler, I'd be switching to SAS/C.  (Long time net readers know
that I've owned the Manx compiler since it was first released in mid-1986,
so this is quite a statement for me to make.  I'll retract it in public
when things change for the better.)
-------------------------------
Stephen Walton, Dept. of Physics & Astronomy, Cal State Univ. Northridge
   I am srw@csun.edu no matter WHAT the stupid From: line says!

sysop@insider.zer.sub.org (12/18/90)

  
> I'm fluent with Pascal.

Argh.

> What are the big differences between the newest version of the Lattice C
> complier and the Aztec compiler?  I'll be purchasing one of these soon.
> I would greatly appreciate any information that anyone wants to share.

Well, I've been using Aztec since 3.2, and have the current (?) version 
5.0d, and also just got the SAS C 5.10 package a week ago.

Here's my opinion:

- Aztec in Version 5.0 is far from being reliable. Sniff. If you can get a 
  hold of a 3.6-package cheap from somebody, get it. It's nice and smooth, 
  and pretty fast, too. Make sure you have SDB with it.

- In the current version, and with a bit faster Amiga (e.g. 020 and up), SAS 
  C is currently the better choice (Hi Ralph!) if you need a high quality C
  Compiler. Of course, you pay for it (are you a student ? They give 50%
  rebate [I think]!) Using my A3000/25, the compiler runs quite fast, though
  I wouldn't want to use it on my A1000... (never tried it yet).

If you want to `try' C first, I'd suggest you getting DICE from Matt Dillon, 
it's a real nice system, too, and doesn't cost much (I think registering for 
the current version, incl. the Includes is $40).

Amiga - What else ? |  Garry Glendown         The Insider HST/V32 0662177923
	   //       |  UUCP: cbmvax!cbmger!inside!garry  Fido: 2:243/43.999
	  //        |        garry@fulmin.rhoen.sub.org  Garry@DGIHRZ01.BITNET
	\X/         |  Zerberus: SYSOP@INSIDER.ZER

---
   SysOp @ INSIDER    --    TT - Atari's answer to the ZX81 !

peter@sugar.hackercorp.com (Peter da Silva) (12/19/90)

In article <9012161351.42.13@INSIDER> sysop@insider.zer.sub.org writes:
> - Aztec in Version 5.0 is far from being reliable.

That's really strange, because I have some programs that were giving me
problems (memory trashing, etc) under 3.6a, and just recompiling them
under 5.0d has gotten rid of the problem. Enforcer concurs: I was getting
a lot of location 0 hits which went away in the 5.0d libraries. If you're
following a linked list through location 0 that's a real good way to end
up trashing memory, should it ever contain anything but 0.

5.0d has been completely reliable for me so far.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

bj@cbmvax.commodore.com (Brian Jackson) (12/20/90)

In article <7322@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes:
>In article <9012161351.42.13@INSIDER> sysop@insider.zer.sub.org writes:
>> - Aztec in Version 5.0 is far from being reliable.
>
>5.0d has been completely reliable for me so far.

I'd have to agree with Peter, at least as far as my experience with 5.0d
Aztec is concerned.  I have been using it for a personal project and
it's been fine for me. I use it under 2.0 with the standard 2.0 includes
and linking with the 2.0 amiga.lib.  No problems at all.  But then I'm
not using any of the math libraries, so ....

bj

>Peter da Silva.   `-_-'

 -----------------------------------------------------------------------
 | Brian Jackson  Software Engineer, Commodore-Amiga Inc.  GEnie: B.J. |
 | bj@cbmvax.cbm.commodore.com    or  ...{uunet|rutgers}!cbmvax!bj     |
 | "Paradise is exactly like where you are right now, only better."    |
 -----------------------------------------------------------------------

jdickson@jato.jpl.nasa.gov (Jeff Dickson) (12/20/90)

In article <7322@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes:
>In article <9012161351.42.13@INSIDER> sysop@insider.zer.sub.org writes:
>> - Aztec in Version 5.0 is far from being reliable.
>
>That's really strange, because I have some programs that were giving me
>problems (memory trashing, etc) under 3.6a, and just recompiling them
>under 5.0d has gotten rid of the problem. Enforcer concurs: I was getting
>a lot of location 0 hits which went away in the 5.0d libraries. If you're
>following a linked list through location 0 that's a real good way to end
>up trashing memory, should it ever contain anything but 0.
>
>5.0d has been completely reliable for me so far.
>-- 
>Peter da Silva.   `-_-'
><peter@sugar.hackercorp.com>.

Newsgroups: comp.sys.amiga.tech
Subject: Re: Lattice vs. Aztec C what of it?
Summary: 
Expires: 
References: <9012161351.42.13@INSIDER> <7322@sugar.hackercorp.com>
Sender: 
Reply-To: jdickson@jato.Jpl.Nasa.Gov (Jeff Dickson)
Followup-To: 
Distribution: comp
Organization: Jet Propulsion Laboratory, Pasadena, CA
Keywords: 

	I have Aztec 5.0d, but I still use 3.4a. I have never experienced
any problems, except sometimes the compiler does not treat type casts cor-
rectly. No big deal - just a pain in the a**.

In article <7322@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes:
>In article <9012161351.42.13@INSIDER> sysop@insider.zer.sub.org writes:
>> - Aztec in Version 5.0 is far from being reliable.
>
	I can believe this, because the compiler's flags for supposedly
emulating K & R (3.6) is a real farce. 

>That's really strange, because I have some programs that were giving me
>problems (memory trashing, etc) under 3.6a, and just recompiling them
>under 5.0d has gotten rid of the problem.

	Aztec 5.0x is less flexible than earlier releases, because programs
written must conform to the ANSI standard. This means it is harder to get
away with incorrect/sloppy code. Don't mean to imply that Peter was guilty
of this.

	I like the freedom of no ANSI, but it is imperative that you are 
familiar with the various sizes of objects. Many operations can be done
in assembly language type ways. I wouldn't recommend 3.6 to novices, but
for people who know 'C' and Amiga - ANSI conformance can be a real can
of worms.

	I have used 3.4a and 3.6 since the winter of 1987.

>Peter da Silva.   `-_-'
><peter@sugar.hackercorp.com>.


----------------------------------------------------------------------
Jeff S. Dickson				jdickson@zook.jpl.nasa.gov

peter@sugar.hackercorp.com (Peter da Silva) (12/20/90)

In article <1990Dec19.184443.8818@jato.jpl.nasa.gov> jdickson@jato.Jpl.Nasa.Gov (Jeff Dickson) writes:
> 	I like the freedom of no ANSI,

Funny, I like the freedom of ANSI. It means I can finally QUIT WORRYING ABOUT
FUNCTION ARGUMENTS. God, I hate lint.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

swalton@solaria.csun.edu (Stephen Walton) (12/21/90)

In article <7322@sugar.hackercorp.com>, peter@sugar (Peter da Silva) writes:

>5.0d has been completely reliable for me so far.

It hasn't for me, but I can believe I did something wrong.  Peter, did
you download the update or order the disks?  Have you tried building a
sharable library with 5.0d, specifically the example in the res_lib
directory of the 5.0a distribution?

Steve

jep@mtiame.mtia.oz (Jesper Peterson) (12/21/90)

In article <1990Dec20.231335.14446@csun.edu> swalton@solaria.csun.edu (Stephen Walton) writes:
>In article <7322@sugar.hackercorp.com>, peter@sugar (Peter da Silva) writes:
>>5.0d has been completely reliable for me so far.
>It hasn't for me, but I can believe I did something wrong.  Peter, did
>you download the update or order the disks?  Have you tried building a
>sharable library with 5.0d, specifically the example in the res_lib
>directory of the 5.0a distribution?

AHA! So some someone else *has* had this problem. If you optimise it
crashes and if you don't it hangs, right? This happens to me on both
the sample library and on rexxhost.library (haven't tried any others).
Have you reported this to Manx? Otherwise I'll definitely do it now. 

Jesper.
-- 
------------------------------------------------------------------------------
USEnet: jep@mtiame.mtia.oz.au            UUCP: ...!uunet!munnari!mtiame.oz!jep
[...] I had to leave out reality to keep the post clean and to the point.
            - jeremy@milton.u.washington.edu (Jeremy York) in rec.music.misc

swalton@solaria.csun.edu (Stephen Walton) (12/22/90)

In article <1990Dec21.032913.8163@mtiame.mtia.oz>, jep@mtiame (Jesper
Peterson) writes that he's had sharable library problems as well.
There are (at least) two bugs in the code generated for a sharable
library with 5.0d and both have been reported to Manx.

The first is that if a sharable library function takes no arguments,
no call to geta4() is generated, but a4 is still popped off the stack.
The workaround is to give each of your functions an argument, even
if it isn't used.  I do something like:

void MyLibRoutine(int);
#pragma amicall(MyLibBase, 0x1e, MyLibRoutine(d0));
void MyLibRoutine(int x) {
...
}

which does the right thing even if x isn't looked at in MyLibRoutine.

The other I just found, and occurs only if optimization is turned on.
I have one case which trips it, but haven't got the bug fully
characterized.  I'd simply recommend not optimizing the actual entry
points into your library, but optimizing the lower-lying routines.
-------------------------------
Stephen Walton, Dept. of Physics & Astronomy, Cal State Univ. Northridge
   I am srw@csun.edu no matter WHAT the stupid From: line says!

peter@sugar.hackercorp.com (Peter da Silva) (12/24/90)

In article <1990Dec20.231335.14446@csun.edu> swalton@solaria.csun.edu (Stephen Walton) writes:
> It hasn't for me, but I can believe I did something wrong.  Peter, did
> you download the update or order the disks?

Ordered the disks.

> Have you tried building a
> sharable library with 5.0d, specifically the example in the res_lib
> directory of the 5.0a distribution?

No, I haven't done that. I've been in crunch mode on my real life job since
before I got my A3000, let alone 5.0d.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

shields@yunexus.YorkU.CA (Paul Shields) (12/26/90)

peter@sugar.hackercorp.com (Peter da Silva) writes:
>5.0d has been completely reliable for me so far.

50.d has only given me one guru.. had something to do with
pre compiling the header files on the MXM.library

On the whole, it's quite a bit more reliable than the 5.0a 
I was using before.. especially in sdb.