[comp.sys.amiga] Compilers...

drh@spock.uucp (David R. Hawley) (12/04/89)

I'm considering purchasing either the latest Manx, or
Lattice compilers.  What are the relative advantages
of each compiler.  For example why does the Manx
version I see sitting on the dealers shelf cost $150
and the Lattice version cost $250?  Which one is more
"UNIX like"?  Which one do more developers use, ie.
developers on the Fred Fish disks?  Is one better for
graphics, and so on....

David

rwallace@vax1.tcd.ie (12/05/89)

In article <34886@spock.uucp>, drh@spock.uucp (David R. Hawley) writes:
> I'm considering purchasing either the latest Manx, or
> Lattice compilers.  What are the relative advantages
> of each compiler.  For example why does the Manx
> version I see sitting on the dealers shelf cost $150
> and the Lattice version cost $250?  Which one is more
> "UNIX like"?  Which one do more developers use, ie.
> developers on the Fred Fish disks?  Is one better for
> graphics, and so on....

- Manx is more UNIX like, it comes with grep, make, diff and a few other
things. Both compilers have utilities which only come with the high-end
version.

- Manx is faster at compiling.

- Manx has an assembler phase and the assembler is better for stand-alone use
than anything else I've seen other than ArgAsm. Lattice has no assembler phase
but still manages to take longer to compile.

- Manx is a lot more compact which is brilliant if you're trying to cram stuff
into RAM disk on a machine with limited memory. Also means it loads off disk
faster.

- Lattice uses standard object file format. Manx doesn't, which makes it
difficult to link with other compilers/assemblers.

- More existing code is written for Lattice because it was the compiler
originally available. Right now I'd say developers are more or less evenly
divided.

- Manx has precompiled include files which are a lot better than Lattice's
compact include files.

- Manx 3.6 is original K&R C. Lattice 5.0 is full ANSI C.

- Usually Manx generates more compact code, Lattice generates slightly faster
code.

- Both compilers now have source level debuggers, both have a choice of 16 or
32 bit ints, both have optional run-time stack checking.

I myself use Manx 3.6 mainly on the grounds of the compiler being more compact
and faster, but I'm thinking of switching to Lattice C because of the full ANSI
compliance and the standard object file format. Of course, I'd still use the
Aztec UNIX utilities.

"To summarize the summary of the summary: people are a problem"
Russell Wallace, Trinity College, Dublin
VMS:  rwallace@vax1.tcd.ie
UNIX: rwallace@unix1.tcd.ie

c164-dj@katerina.uucp (Dan Filner) (12/06/89)

As a developer recently transformed from MANX to LATTICE territory..
(My two bits):

In article <4016@vax1.tcd.ie> rwallace@vax1.tcd.ie writes:
>- Manx has an assembler phase and the assembler is better for stand-alone use
>than anything else I've seen other than ArgAsm. Lattice has no assembler phase
>but still manages to take longer to compile.
>
Lattice has an assembler included but it lacks some important directives.
label reg Rn, for instance.

>
>- Usually Manx generates more compact code, Lattice generates slightly faster
>code.

From my one-big-project-on-the-amiga experience :
The game, developed in Microsoft C/IBM, ported to Manx Amiga, then 
only recently recompiled under Lattice Amiga, ran about 126K under
Manx - but only 85K under Lattice 5.04.
(It didn't work right away but was fixable)

>I myself use Manx 3.6 mainly on the grounds of the compiler being more compact
>and faster, but I'm thinking of switching to Lattice C because of the full ANSI
>compliance and the standard object file format. Of course, I'd still use the
>Aztec UNIX utilities.
>
I was using Manx because it existed identically on the ST and Amiga
(twin port targets for a graphic adventure) but have switched to
Lattice for smaller executables. Of course, I still use the Aztec UNIX
utilities.

--------------------
I have no other interest in either Manx or Lattice than as a comsumer.
--------------------
Dan Filner
Contracting Developer for the ST and Amiga
no permanent email-address

rlcarr@athena.mit.edu (the Wizard of Speed and Time) (12/06/89)

In article <4016@vax1.tcd.ie> rwallace@vax1.tcd.ie writes:
>- Manx is more UNIX like, it comes with grep, make, diff and a few other
>things. Both compilers have utilities which only come with the high-end
>version.

I think you're wrong here.  I have Lattice 5.0, and it does come with diff,
grep, make, cxref, lstat, lprof, and grep linker libraries if you want
to use the pattern matching routines.  There are some other utilities as 
well.  Basically, Lattice gave up on the Compiler Companion as a seperate
product and decided to throw it in with 5.0.

--
Rich Carreiro - Most Biased Boston Celtics Fan!   "So long, farewell, and may
ARPA: rlcarr@space.mit.edu                         the forces of evil become
UUCP: ...!mit-eddie!space.mit.edu!rlcarr           confused on the way to your
BITNET: rlcarr@space.mit.edu                       door!" - George Carlin

jac@muslix.llnl.gov (James Crotinger) (12/07/89)

In article <4016@vax1.tcd.ie> rwallace@vax1.tcd.ie writes:
>
>- Manx is more UNIX like, it comes with grep, make, diff and a few other
>things. Both compilers have utilities which only come with the high-end
>version.
>
  Lattice also comes with make, diff, and grep as well as some other
UNIX and non-UNIX utilities. It also has a profiler and a post-mortem
trace back facility that I don't think Manx 3.6 has. Starting with
5.0, Lattice only has one C compiler package which comes standard with
all the utilities, C compiler, assembler, AND source level debugger
(a seperate product from Manx). 

>- Manx is faster at compiling.
>
  But only somewhat. Less than a factor of two. Neither compiler is
blindingly fast, ala Think C on the Mac. 8-(. 

>- Manx has an assembler phase and the assembler is better for stand-alone use
>than anything else I've seen other than ArgAsm. Lattice has no assembler phase
>but still manages to take longer to compile.
>
  Very subjective. The Manx assembler is not compatible with the original
Metacompost Assembler, which is sort of the standard. It's also not all that
fast. I use CAPE. 

  Lattice also compiles in two stages, but rather than have the first stage
compile to a machine specific assembly language, it compiles to a machine
independent language. This way the front end of the compiler is basically
machine independent. 

  Lattice comes with an assembler and a full set of assembly include
files. 

>- Manx is a lot more compact which is brilliant if you're trying to cram stuff
>into RAM disk on a machine with limited memory. Also means it loads off disk
>faster.
>
  The Lattice compiler and linker are pure, though, so they can be made
resident. (Perhaps this can be done with Manx as well - I don't know). 
>
>- Manx has precompiled include files which are a lot better than Lattice's
>compact include files.
>
  Lattice 5.0 also supports precompiling header files (in addition to the
header file compression). 

>- Manx 3.6 is original K&R C. Lattice 5.0 is full ANSI C.

  Lattice 5.0 isn't quite ANSI C, though 5.04 seems to have fixed most
of the descrepencies that I can think of at the moment. I don't think
Lattice supports trigraphs and some obscure orderings of declarators. 

>- Usually Manx generates more compact code, Lattice generates slightly faster
>code.
>
  As with speed of compilation, the differences here are much less than
they used to be. 

>I myself use Manx 3.6 mainly on the grounds of the compiler being more compact
>and faster, but I'm thinking of switching to Lattice C because of the full ANSI
>compliance and the standard object file format. Of course, I'd still use the
>Aztec UNIX utilities.

  I have both, but these days I use only Lattice due to the ANSI support
and the fact that I also have their C++ system. 

>
>"To summarize the summary of the summary: people are a problem"
>Russell Wallace, Trinity College, Dublin
>VMS:  rwallace@vax1.tcd.ie
>UNIX: rwallace@unix1.tcd.ie

  Jim

fgd3@jc3b21.UUCP (Fabbian G. Dufoe) (12/07/89)

From article <4016@vax1.tcd.ie>, by rwallace@vax1.tcd.ie:
> - Manx has precompiled include files which are a lot better than Lattice's
> compact include files.

     Lattice added the ability to precompile include files with version
5.0.  

--Fabbian Dufoe
  350 Ling-A-Mor Terrace South
  St. Petersburg, Florida  33705
  813-823-2350

UUCP: ...uunet!pdn!jc3b21!fgd3

840445m@aucs.uucp (Alan McKay) (12/07/89)

In article <4016@vax1.tcd.ie> rwallace@vax1.tcd.ie writes:
>
>- Manx is more UNIX like, it comes with grep, make, diff and a few other
Lattice ... it's ALL in there

>
>- Manx is faster at compiling.
That's debatable

>
>- Manx has an assembler phase and the assembler is better for stand-alone use
>than anything else I've seen other than ArgAsm. Lattice has no assembler phase
OK, granted

>
>- Manx is a lot more compact which is brilliant if you're trying to cram stuff
>into RAM disk on a machine with limited memory. Also means it loads off disk
>faster.
I am not sure about this so I will not comment

>
>- Lattice uses standard object file format. Manx doesn't, which makes it
>difficult to link with other compilers/assemblers.
Yes, this means Lattice code can be mixed with code from any other package
that uses the standard, while Manx cannot.  This is (IMHO) a very big
advantage in the same way that IFF is.

>
>- More existing code is written for Lattice because it was the compiler
>originally available. Right now I'd say developers are more or less evenly
>divided.
Granted

>
>- Manx has precompiled include files which are a lot better than Lattice's
>compact include files.
Lattice 5.0 does this as well

>
[some stuff omitted]
>
>I myself use Manx 3.6 mainly on the grounds of the compiler being more compact
>and faster, but I'm thinking of switching to Lattice C because of the full ANSI
>compliance and the standard object file format. Of course, I'd still use the
>Aztec UNIX utilities.
Why not use the ones that come with Lattice 5.0 instead?
Also, I use Lattice mainly because 5.0 comes in an integrated environment
similar to that of Turbo C and Turbo Pascal on the Pee Cee.  (Although not
quite as flashy).  The only problem with this is that you have to use the
LSE editor if you want this feature. (LSE is Lattice's own editor which comes
with the package).  Fortunately the editor is very powerful so I didn't mind
switching.  I am waiting for someone to implement an AREXX port so that
you can have an integrated environment with whatever editor you wanted.  Also,
an AREXX port would make the compiler much more powerful in other respects.
>
>"To summarize the summary of the summary: people are a problem"
>Russell Wallace, Trinity College, Dublin
>VMS:  rwallace@vax1.tcd.ie
>UNIX: rwallace@unix1.tcd.ie

-- 
+ Alan W. McKay       +  VOICE: (902) 542-1565                        +
+ Acadia University   +  "Courage my friend, it is not yet too late   +
+ WOLFVILLE, N.S.     +   to make the world a better place."          +
+ 840445m@AcadiaU.CA  +                    - Tommy Douglas            +

cmcmanis%pepper@Sun.COM (Chuck McManis) (12/12/89)

(some balancing comments...)
In article <4016@vax1.tcd.ie> rwallace@vax1.tcd.ie writes:
>- Manx is more UNIX like, it comes with grep, make, diff and a few other
>things. Both compilers have utilities which only come with the high-end
>version.

The Lattice compiler now includes (as of 4.0 I believe) lmk (make), grep,
diff, splat (files type utility), wc and some others. And cpr the debugger.

>- Manx is faster at compiling.

True.

>- Manx has an assembler phase and the assembler is better for stand-alone use
>than anything else I've seen other than ArgAsm. Lattice has no assembler phase
>but still manages to take longer to compile.

Lattice doesn't compile to assembly, however a utility is provided (OMD) to
disassemble .o files into assembly source. Lattice also includes asm a separate
assembler that is compatible with the MetaComCo Amiga Assembler. 

>- Manx is a lot more compact which is brilliant if you're trying to cram stuff
>into RAM disk on a machine with limited memory. Also means it loads off disk
>faster.

And you can make Lattice resident if you want even more speed. Truely though
Lattice favors larger memory systems.

>- Lattice uses standard object file format. Manx doesn't, which makes it
>difficult to link with other compilers/assemblers.

True.

>- More existing code is written for Lattice because it was the compiler
>originally available. Right now I'd say developers are more or less evenly
>divided.

Some code could be run on both so how do you count that? Generally Lattice
code lints cleaner because the compiler complains more but either way most
code is usable on either system. Especially if you use Manx in 32 bit mode.

>- Manx has precompiled include files which are a lot better than Lattice's
>compact include files.

"lot" is subjective, they are better. Lattice will let you do incremental
linking if you choose which can be faster but the interface is a bit 
strange.

>- Manx 3.6 is original K&R C. Lattice 5.0 is full ANSI C.

Also Manx libraries tend to be like the BSD library, whereas Lattice's
tend to be like System V libraries.

>- Usually Manx generates more compact code, Lattice generates slightly faster
>code.

I'm not so sure about this anymore. This may still be true for the 
"no switches" mode. But given equal effort I think the code sizes are
similar. Especially when Lattice's global optimizer gets into the act.

>- Both compilers now have source level debuggers, both have a choice of 16 or
>32 bit ints, both have optional run-time stack checking.

Lattice's debugger is bundled, Manx's is $75 extra. 


--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@Eng.Sun.COM
These opinions are my own and no one elses, but you knew that didn't you.
"If it didn't have bones in it, it wouldn't be crunchy now would it?!"

ugdill@marvin.cs.Buffalo.EDU (Peter Dill) (12/12/89)

>In article <4016@vax1.tcd.ie> rwallace@vax1.tcd.ie writes:
>- Manx 3.6 is original K&R C. Lattice 5.0 is full ANSI C.
>
    Not true. Manx 3.6 isn't ansi but it isn't just K&R 1 either. It has
void, #asm and other stuff.
   
                                                       Peter Dill
                                                       ugdill@cs.buffalo.edu

tron1@tronsbox.UUCP (HIM) (12/21/89)

In the spirit of the discussion on LAttice/Manx .. Ill toss in my $.02

I use that Lattice 5.04 for a LOT of reasons.

1) it is standard (link format that is)
2) closer to UNIX C
3) I use the C++

Besides, a AREXX port on the Source Debugger is a GREAT idea...

****************************************************************************
"Perfume and leather baby , you and me together baby,
  what good is living in paradise, if you don't let yourself once or twice."
 -Tiffany  
 
 Kenneth J. Jamieson ---- THE BOSS at Xanadu Enterprises Inc.
      UUCP: tron1@tronsbox.UUCP  BEST PATH ---> uunet!tronsbox!tron1 
      Sysop, The Penthouse ]I[ BBS - (201)759-8450 / (201)759-8568 
****************************************************************************

qhy@mentor.cc.purdue.edu (Tony Hutson) (01/24/90)

Can someone please tell me if there are Pascal or Fortran compilers
for the Amiga.  Are there some public domain programs?  I have looked
in several magazines and have traveled to many software stores
but I haven't located any PD or commercial compilers.

Please respond by e-mail if possible...

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Dwayne (Tony) Hutson ++   Phoenix Commodore Computer Group        +++
+ Vice President       ++   BBS (317) 882-7802       24 hrs.        +++
+                      ++   Indianapolis Indiana                    +++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

cs121jj@ux1.cso.uiuc.edu (01/25/90)

I'd like to know about Pascal and Fortran compilers for the Amiga as well...
If whomever responds to this could carbon copy me the info as well, I'd
appreciate it.