[net.lang.forth] The future of Forth?

ucbesvax.turner@ucbcad.UUCP (07/01/83)

#N:ucbesvax:9100002:000:2689
ucbesvax!turner    Jul  1 01:30:00 1983

	I'd like to spark some discussion on the current perceptions of
of Forth, and it's future.

	I mentioned Forth to a programmer who does uP control systems at
Lawrence Berkeley Labs.  He had spent a week or two (the last time I saw
him) trying to disassemble an assembler, so that he could recode it to do
something he wanted.  His failure was weighing heavily on his mind,
apparently.  (He's a REAL programmer.)

	Forth would be good in his environment, which mostly involves 
stuff which is not time-critical at the millisecond level.  His response
to my suggestion was: "No, it's a cult language, nobody has done any
serious applications with it."  I didn't mention that he probably could
have done his little hack to the assembler in a few hours in Forth, where
the assembler is not big-time software.

	(This "cult language" is going to be used next year at U.C. Berkeley
in the undergraduate uP interfacing course, for whatever that's worth.)

	Well, I'm not a member of the Forth cult (which I will readily
admit exists), but I've found that the people whose minds are most made
up against Forth are the ones who know the least about it.  Forth has
its problems (totally untyped, encourages idiom, etc.), but it has its
niche pretty well cut out for it.  Until recently.

	One rationale for Forth was that it was a small system for small
systems.  Memory density has increased radically since this argument was
first advanced--small systems are a lot bigger than they used to be.  
Also: until recently, most microprocessor architectures did not support
Forth nearly as well as the original PDP-11 implementation.  (The 6809
seems to be bridging this gap quite nicely--note the recent "Wireless
World" article.  Those Brits know how to do small things well.)

	What is the future of Forth, especially in view of the growth
in offerings of C compilers for micros?  If there were a large, shared
base of code, it might hold its own.  As it stands, the prospects seem
dim.  It represents an advance over assembly language in being highly
portable, and is an advance over BASIC in being highly extensible, but
that seems to be it.  That's a lot, but is it enough?

	Forth is a VLLL (Very Low-Level Language.)  Or, as a friend of
mine put it: "great, if you want to be your own compiler."  Try doing the
C post-increment operator ("++").  It always comes out at about a half
dozen Forth instructions, no matter how you do it.  Forth might make a
good micro-assembler for a stack-oriented soft architecture.  But then,
many of the languages being used to microcode the new-wave graphics
machines look more like C than anything else.

	Comments?

		Michael Turner
		ucbvax!ucbesvax.turner