[net.micro] FORTH query, general

knudsen (11/18/82)

Has anyone out there experienced Forth?  I tried to design a similar
kanguage off & on for several years, for about the same reasons
(compact source code, fast execution by simple interpreter),
and am interested by what I've read & seen since.
I'd like to hear some praises/gripes from experienced users.
There are 2-3 Forth's available for the TRS CoCo, so there must
be plenty of them out for other machines, ergo, there must be some
4th-estate types out there.
PS-I've used SNOBOL, LISP, C, and several assemblers thruout my life
so am not afraid of a little backwards Polish.  I want Forth
mostly to avoid writing tons of assembler for 6809.
	latest coconut, mike k

idhopper (11/19/82)

I have recently been doing a fair bit of FORTH work on my IBM PC (although
classes have started getting in the way...) and I have accumulated a list
of likes and dislikes about the language:

I LIKE: the combination of speed and interactiveness (interactivity?).  It
runs faster than anything else except assembly language or a tightly-written
compiler, yet I can still type words and do interactive debugging and
testing.

I LIKE: the extensibility of the language; it is very convenient to have
your own words be completely equivalent to pre-defined system words, along
with the ability to re-define system words if you like.

I HATE: the static memory allocation.  Dynamic memory allocation is simply
essential for any REAL interactive programming (graphical programming
environments & stuff like that).  I realize that dynamic allocation can
be tacked on, but it is just that: tacked on.  I am working on the design
of a version of FORTH that has dynamic memory allocation as an integral
part of the language; if anyone's interested I am willing to post what
I have done on it so far for discussion.

I HATE: the inconsistency and general kludginess of the current standard
FORTH word set.  It could be cleaned up quite a bit.

I DISLIKE: the absolute ILLEGIBILITY of programs.  This, however, is the
price one has to pay for a reverse Polish language.  The main problem is
that there is no clear separation between the various arguments to a given
word, and no obvious indication of how many arguments a word takes or
returns; in fact, both of these can vary, depending upon the values of
the arguments passed.

OVERALL: I think that FORTH is a good programming environment for a small
computer with limited resources, but should be junked once you get enough
horsepower to run a really good interactive language like LISP or Smalltalk.

			--ravi