[comp.sys.amiga] ...and a compiler.

6106728@pucc.Princeton.EDU (Keith Mancus) (06/23/87)

[]
 
   Oh, yes, almost forgot.  What is the preferred compiled language for
the Amiga?  I seem to hear more about Lattice C than anything else,
but what little info about Aztec C comes this way seems to indicate that
it is faster.  And an occasional good word about Amiga Pascal comes by.
What do you programmers think of each?
 
  Keith Mancus <6106728@PUCC>

thomson@udel.EDU (Richard Thomson) (06/23/87)

I have purchased Multi-FORTH for the Amiga from Creative Solutions.  [A full
blown review will be posted real soon now...]  As far as I know [from info in
this newsgroup] there are not many people using FORTH on the Amiga, but it does
have several advantages when compared to a compiled language for this machine.

I have investigated Lattice C (a developer's version about 1 year ago, it was
practically brain-dead) and Aztec C (better, bit still uncomfortably slow on
a 512K dual floppy system).  After checking out both of the big C choices I
have come to the conclusion that the only sane way to develop C code on the
Amiga is if you have a hard disk and *lots* of memory (read 1-2 MB).

I know... you say 'Hey, but I just blew ~$2000 on my system already and now I
gotta purchase a ~$300 compiler and a hard drive+memory combo? [~$1500 more]'
Well, its not really necessary if you don't mind walking back and FORTH [pun
intended] through the land of RPN, stacks, and direct-threaded code.

Multi-FORTH costs $79, is interactive, is FAST, and is EXTENSIBLE.  That means
you create little tools to help yourself and build on these tools.  You never
reinvent the wheel with this approach.  You don't have to spend alot of time
(and 3 pages of code, *many* possibilities for error) initializing all those
darn structs to feed intuition.  MF has many built-in tools that will do much
of the grunt work for you while you are developing code, and you can pare down
any unnecessary cruft when you 'turnkey' your code.

In FORTH, you take the base of the language (kind of like what C provides as
operators, keywords, etc.) and instead of writing procedures, you write 'words'.
The trick is that the new words are no different from the base of the language!
Your new words are indistinguishable from the supplied language 'base'.  This
allows you to build your own custom programming environment!  If you are more
interested in the specific Amiga-features of MF, drop me a line via e-mail if
you can't wait for the review or watch this space.  I have to do a little more
serious tinkering before I can post a review.

I have not looked at Amiga Pascal, but I don't like pascal very much anyway.
It tends to be very verbose when compared to a language like C [which is verbose
when compared to FORTH!].  I have looked at Amiga Lisp, which could have been
something if they put in support for the Amiga libraries.  As it is the thing
is only a Lisp interpreter, there are no hooks to all the great things that
make an Amiga great!.  That's really too bad, because if you had those hooks
you could do something neat re: AI.  [Please, someone correct me if I'm wrong.]
					Rich Thomson
USENET: ?				ARPA: thomson@loue.udel.edu

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (06/25/87)

In article <294@louie.udel.EDU> thomson@udel.EDU (Richard Thomson) writes:
>I have purchased Multi-FORTH for the Amiga from Creative Solutions.  [ ... ]
>
>Multi-FORTH costs $79, is interactive, is FAST, and is EXTENSIBLE.  That means
>you create little tools to help yourself and build on these tools.  You never
>reinvent the wheel with this approach.  [ Goes on to discuss the virtues of
> FORTH ]

	I'm certain that everyone here is familiar with the architecture of
FORTH.  I know that I once tried to familiarize myself with the language.
Anyone who doesn't know what FORTH is can write to the poster of the above
included message, who I'm sure will be more than willing to tell you all
about it.

	In the meantime, please don't have another language war.  We have
enough trouble trying to agree who makes the better Amiga C compiler without
trying to bring other languages into it.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
 \_ -_	 Bike shrunk by popular demand,	      dual ---> !{well,unicom}!ewhac
O----^o	 But it's still the only way to fly.  hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The "L#"L#"

thomson@udel.EDU (Richard Thomson) (06/25/87)

In article <3398@well.UUCP> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
>	In the meantime, please don't have another language war.  We have
>enough trouble trying to agree who makes the better Amiga C compiler without
>trying to bring other languages into it.

I wouldn't want to start another language war either, but you know how those
FORTH types are!  They tend to feel slighted because academia at large tends to
remain sceptical.  My only reason for using FORTH and not C is that I have a
hardware limited system and an empty wallet.  If I could afford a meg of fast
ram and a hard disk, I'd be writing C code.  Heck, it's pretty much the amiga
standard.  I haven't seen any program posted here that weren't in C (with the
wonderful exception of Bryce Nesbitt's little assembler tools!).

But with 512K and two floppies, I got tired of waiting for the compiler and I
figured other people might want to consider a language you can DO something
with on a machine that is minimally equipped.  Expansion boxes are ex$pen$ive
for the 1000 and an inexspensive language may be a better solution for some
people.  Remember *both* of those C compilers cost at least TWICE what FORTH
does.
					Humbly yours, Rich Th

peter@sugar.UUCP (Peter DaSilva) (07/10/87)

	The advantage of Lattice is that you can run all the heavy duty
stuff like software interrupts right out of the box, but for someone with
a 512K Amiga, Aztec is the only way to go. Only with Aztec can you fit
workbench, the compiler and the libraries on 2 drives, *and* compile with
your temp files in RAM:. Lattice just eats too much memory for that: you
have to put your temp files on physical media. This costs you an extra disk
and about a factor of 10 increase in compile time. Aztec used to be plagued
with compatibility problems, but the latest version (3.40a) has a very
good Lattice Compatibility Mode.
-- 
-- Peter da Silva `-_-' ...!seismo!soma!uhnix1!sugar!peter (I said, NO PHOTOS!)

mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) (07/15/87)

In article <376@sugar.UUCP> peter@sugar.UUCP (Peter DaSilva) writes:
<	The advantage of Lattice is that you can run all the heavy duty
<stuff like software interrupts right out of the box, but for someone with
<a 512K Amiga, Aztec is the only way to go.

Other advantages include function prototypes, and structures as
first-class objects.

Structures as first-class objects is moderately usefull, and I may be
mistaken about those being missing from Manx.

Function prototypes - well, you'll take a compiler with function
prototypes from me by prying it out of my cold dead hand. On my latest
project (porting a large Mac application), prototyping everything has
probably saved me more hours than I've spent on the port. "Whadda ya
mean, it's got the wrong number of arguments? Oh, it does."

Rumor has it that the next release of Manx will have prototypes. Any
comments from people who actually know?

	<mike
--
The weather is here, I wish you were beautiful.		Mike Meyer
My thoughts aren't to clear, but don't run away.	mwm@berkeley.edu
My girlfriend's a bore, my job is to dutiful.		ucbvax!mwm
Hell nobodies perfect, would you like to play?		mwm@ucbjade.BITNET

cg@myrias.UUCP (Chris Gray) (07/16/87)

Peter de Silva writes:

> 	The advantage of Lattice is that you can run all the heavy duty
> stuff like software interrupts right out of the box, but for someone with
> a 512K Amiga, Aztec is the only way to go. Only with Aztec can you fit
> workbench, the compiler and the libraries on 2 drives, *and* compile with
> your temp files in RAM:. Lattice just eats too much memory for that: you
> have to put your temp files on physical media. This costs you an extra disk
> and about a factor of 10 increase in compile time. Aztec used to be plagued
> with compatibility problems, but the latest version (3.40a) has a very
> good Lattice Compatibility Mode.

I can't help commenting (a couple of :-)'s) that the language people should
be using is of course Draco! It, along with a minimal workbench, all include
files and libraries, etc. fits on ONE disk, leaving your second disk for
your stuff. It also compiles faster than Lattice (and probably faster than
Aztec, but I don't have one to compare).

Has anyone out there given it a try yet? (It's on Fish disks 76 and 77).
-- 
Chris Gray		Myrias Research, Edmonton	+1 403 432 1616
	{seismo!mnetor,ubc-vision,watmath,vax135}!alberta!myrias!cg

walton@tybalt.caltech.edu (Steve Walton) (07/16/87)

In article <4364@jade.BERKELEY.EDU> mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) writes:
>Structures as first-class objects is moderately usefull, and I may be
>mistaken about those being missing from Manx.

They're there.
>
>Function prototypes - well, you'll take a compiler with function
>prototypes from me by prying it out of my cold dead hand. On my latest
>project (porting a large Mac application), prototyping everything has
>probably saved me more hours than I've spent on the port. 

Arguable.  I happen to know Mike has 2.5 MB of RAM.  For us lowlier
mortals :-), the fact that Aztec is small enough to run in 512K with
its temporary files in RAM: adds up to a lot of time saved on a smaller
Amiga.  With more memory, Mike is probably right.  A full ANSI compiler
from Manx is promised for the next release, but I don't know an
estimated date for it.

    Steve Walton, guest as walton@tybalt.caltech.edu
    AMETEK Computer Research Division, ametek!walton@csvax.caltech.edu
"Long signatures are definitely frowned upon"--USENET posting rules

mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) (07/17/87)

In article <3260@cit-vax.Caltech.Edu> walton@tybalt.caltech.edu (Steve Walton) writes:
<In article <4364@jade.BERKELEY.EDU> mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) writes:
<>Structures as first-class objects is moderately usefull, and I may be
<>mistaken about those being missing from Manx.
<
<They're there.

So I can do things like "mydata = foo() . footype_mydata" ? Good.

<>Function prototypes - well, you'll take a compiler with function
<
<Arguable.

Only if you haven't used them. One of the first things those doing the
Mac side of this mess wanted to know was "Can you use prototypes?".
Protopypes are somewhere between Mom and Apple Pie.

<I happen to know Mike has 2.5 MB of RAM.  

I spent the $150 to go to 4.5 MB a couple of months ago. You're out of
date.

<the fact that Aztec is small enough to run in 512K with
<its temporary files in RAM: adds up to a lot of time saved on a smaller
<Amiga.  With more memory, Mike is probably right.

Lattice will run with temporary files in RAM: on a 512K machine.  The
real time win with the Manx (from what I understand) is the magic for
include files so that they don't only have to be read from disk more
than once.

Of course, with 4.5 meg, I put include files in ram. And damn near
everything else, and leave mg & vt100 running. It's not clear how much
faster Manx is than Lattice when *everything* is coming from RAM: or
VD*:.

<A full ANSI compiler
<from Manx is promised for the next release, but I don't know an
<estimated date for it. 

Good for Manx. But if they're going to deliver full ANSI, the release
date will be late next year. There won't be a real ANSI standard until
then. If they're talking about dpANS, that's different. And highly
suspect. I just can't see Manx (or anyone with any sense) doing
trigram support for the Amiga. 

	<mike

--
How many times do you have to fall			Mike Meyer
While people stand there gawking?			mwm@berkeley.edu
How many times do you have to fall			ucbvax!mwm
Before you end up walking?				mwm@ucbjade.BITNET

richard@pnet02.CTS.COM (Richard Sexton) (07/18/87)

For us even lowlier mortals with 1 disk drive (but also the Chris Irving
memory mod - I may be cheap, but I'm not crazy), Manx means being able to put
the compiler, assembler, linker, includes, libraries, source, editor and
utilities all in ram. Hard disk ? Pfui :-)

UUCP: {ihnp4!crash, hplabs!hp-sdd!crash}!gryphon!pnet02!richard
INET: richard@pnet02.CTS.COM