FORTH, the heat is on (sorry Don Henley) [long]

Doug Collinge collinge at uvicctr.UUCP
Tue Jan 14 05:03:26 AEST 1986

In article <703 at pucc-j> rsk at pucc-j.UUCP (Wombat) writes:
>In article <444 at tekchips.UUCP> toma at tekchips.UUCP (Tom Almy) writes:
>>Normally I don't bother to flame back at flames, but this one has some
>>errors that I cannot ignore.
(This issue may cause a net meltdown...)

>>In article <681 at pucc-j> rsk at pucc-j.UUCP (Wombat) writes:
>>>There are severe problems with Forth that prevent it from being much more than
>>>an interesting (failed) exercise in threaded-interpretative language design.
>>>1. Forth is a lot harder to read than even Lisp or APL; at my former employer,
>>>where we used Forth in real-time control and number-crunching applications,
>>>we called it a "write-only" language.
It has to be just as hard to write "readable" C code but no-one calls it a
"write-only" language.  The difference, perhaps, is that C is written, by and
large by university-educated programmers and Forth is not. Let's face it:
there are no "readable" languages, only "readable" programs.

>>>> 2) Can't pass arguments explicitly.  
This must be the biggest readability problem - in fact, it is simply horrible.
However, when I realized this, I just wrote the code to put named parameters
into the language.  Try that in your favourite language.  Granted, it should
be an option in the standard...

>>>> 3) Forward referencing (including recursion) is not normal. Bye-bye AI. 
Recursion is no problem.  Mutual recursion IS a problem that can be solved
in a portable, albeit horrible, way.  Don't do AI in Pascal, C, FORTRAN, or

>>>> 5) Scoping, name-space rules are terrible.
Forth programmers don't seem to use vocabularies as extensively as they ought.
Using vocabularies we can write nice modules with all the nasty stuff neatly
hidden away.

>Forth is like falling in a hole.
Well, each to his own: Berkeley Unix is the biggest, deepest hole I have ever
fallen into and I don't expect to ever make it out.

The bottom line is: does it get the job done?  I was extremely skeptical about
Forth when I started but now I wouldn't use anything else for process control
applications like my own,  computer-cotnrolled art.

		Doug Collinge
		School of Music, University of Victoria,
		PO Box 1700, Victoria, B.C.,
		Canada,  V8W 2Y2  

More information about the Comp.lang.c mailing list