[comp.lang.forth] FORTH, the language

UWC6NTG@UICVMC.BITNET (Nicholas Geovanis 312-996-0590) (07/21/89)

   I can't stand the "my-language-is-better-than-yours" arguments, but I
can no longer stand by and watch. Where I'm coming from: I once wrote a
FORTH interpreter for a college class (mostly in FORTH), I've written
perhaps a few hundred other lines of FORTH, none of it for money.
   Charles Moore visited the U. of Illinois at Chicago a few years ago,
and I jumped at the chance to hear him. He was pushing the first Novix(?)
chip. In the course of his talk, he displayed some of his very own code.
Thinking that the god of FORTH would have some pretty nifty shit, I was
shocked to discover that he didn't even use line-spacing to make the
logical flow of his code more apparent: all the lines were jumbled
together end-to-end. When I asked him about this, he said he wrote code
that way because it saved space, and besides, no unit of FORTH code
should be longer than one screen anyway. Needless to say, there were no
comments embedded in the code.
   I also asked him if he used a particular file system to keep track
of his code/data. It wasn't long before beginning to use FORTH that I
found the "first-screen-is-a-directory" idea a little cumbersome, and
cast about for something more useful to humanoids. Well, of course he
doesn't use a file system, it's all in his head! He just memorizes exactly
how far into his screen file each aggregation of code has gone so far.
   Now, maybe Charles Moore really is Einstein Jr., but even if he were,
no matter how you slice it, this is sloppy programming practice. I know
that this isn't how most FORTH programmers work (I hope), but it's
indicative of some of the FORTH community's attitudes. If you pride
yourself on your intuitive abilities (and FORTH-freaks do claim that it's
more supportive of a "natural, intuitive" programming style than any other
language), then you don't want to encumber yourself with support software.
If you subscribe to the "simpler-is-better" philosophy, then you might want
to use banked memory on your FORTH chip, taking it upon yourself to select
the bank, rather than upgrading your "simple" FORTH from 8-bit dependency
to 16 or 32-bit "complexity" (Moore did not support such an upgrade at the
time).
   To sum up, in my opinion, the FORTH language does not encourage poor
programming practice, but those who champion FORTH have burdened it with
a programming philosophy which sometimes results in poor programming
practice.
                       Nick Geovanis-UWC6NTG at UICVMC.EDU
                       Univ. of Illinois Admin Computer Ctr.

wmb@SUN.COM (Mitch Bradley) (07/22/89)

> Now, maybe Charles Moore really is Einstein Jr.,

Actually, he's more like the Lone Ranger, or perhaps James Bond.

Nicholas's points are well-taken.  The Forth community has suffered
from a "cowboy" mentality.

In one sense, this isn't too surprising.  Attempts to use or promote
Forth meet with strong, and sometimes irrational*, opposition.  This
causes selection pressure which biases the Forth community population
toward strong-willed individualists, anarchists, etc.

* Notice I said *sometimes* irrational, I don't mean to imply that
all arguments against Forth are invalid.  But I do sometimes face
flat out refusal to even consider Forth.

Anyway, I think it is incumbent upon the Forth community to "grow up"
and start using good engineering practices, readable coding styles,
and design for longevity.

Mitch

scowl@psueea.uucp (Scott W. Larson) (07/23/89)

In article <8907220145.AA03972@jade.berkeley.edu> Forth Interest Group International List <FIGI-L%SCFVM.bitnet@jade.berkeley.edu> writes:
>   Charles Moore visited the U. of Illinois at Chicago a few years ago,
>and I jumped at the chance to hear him. 
> In the course of his talk, he displayed some of his very own code.
>Thinking that the god of FORTH would have some pretty nifty shit, I was
>shocked to discover that he didn't even use line-spacing to make the
>logical flow of his code more apparent: all the lines were jumbled
>together end-to-end. When I asked him about this, he said he wrote code
>that way because it saved space, and besides, no unit of FORTH code
>should be longer than one screen anyway. Needless to say, there were no
>comments embedded in the code.

Wasn't Moore pushing the radical idea of not keeping ANY source
code around and using a fancy decompiler? This stuff sounds
like the output of a cheap decompiler. 


   ARPANET: scowl%cs.pdx.edu@relay.cs.net
   CSNET:   scowl@cs.pdx.edu
   UUCP:    {ucbvax,uunet,gatech}!tektronix!psu-cs!scowl
   C-SERVE: 72106,1035

	"One comment in NLQ is worth two in draft"--SWL

marc@noe.UUCP (Marc de Groot) (07/24/89)

In article <8907220149.AA04023@jade.berkeley.edu> Forth Interest Group International List <FIGI-L%SCFVM.bitnet@jade.berkeley.edu> writes:
>> Now, maybe Charles Moore really is Einstein Jr.,
>Actually, he's more like the Lone Ranger, or perhaps James Bond.

I think he's a Jedi knight.

The Paris Forth Interest Group calls itself "Societe Jedi" -- The
Jedi Society.

-- 
Marc de Groot (KG6KF)                   These ARE my employer's opinions!
Noe Systems, San Francisco
UUCP: uunet!hoptoad!noe!marc
Internet: marc@kg6kf.AMPR.ORG

wmb@SUN.COM (Mitch Bradley) (07/25/89)

> Wasn't Moore pushing the radical idea of not keeping ANY source
> code around and using a fancy decompiler? This stuff sounds
> like the output of a cheap decompiler.

3 points:

a) The sourceless program idea was originally (I think) proposed by
   Bob Buege (sp?) who had developed a language called "RTL", for
   Relocatable Threaded Language.  It was basically a token-threaded
   Forth, with a few extra flag bits in the header to give the decompiler
   extra hints.  I think he may have compiled comments into the code
   too, skipping around them at run time.  Chuck liked the idea.

b) Chuck tends to push a new radical idea every few months or so.
   Most of them are dumb and he eventually changes his mind; a few are
   very good.  That is the way with most extremely-creative people,
   in my experience.  Bill Joy (the Unix prophet) is the same way.
   (in comparison, most of the rest of us never even HAVE any radical
   ideas).  Some examples of things that Chuck has pushed in the last
   few years:  1) Using a time delay instead of the RETURN key
   2) Typing on a 5-finger keyboard, where you just type in the binary
   value for the ASCII keyboard (the high bits are "sticky" somehow).
   3) Using Morse Code instead of keyboards.  4) A three-finger keyboard
   built from a cut-up business card.  The keys are labeled red, green,
   and blue, and you can type 7 different combinations, which select
   color-coded menu items displayed in (you guessed it!) red, green, blue,
   yellow, cyan, magenta, and white

c) Actually, I don't think Chuck's square, comment-free style is related
   to the sourceless thing.  I think it's because Chuck is a free spirit,
   doesn't care what other people think about his code anyway, and doesn't
   intend to reuse it because he would just as soon rewrite it the next
   time he needs anything similar.  Rewriting it gives him the opportunity
   to try out his latest idea or technique on that bit of code too.

Brilliant people play by different rules.

Mitch (amateur psychologist) Bradley

toma@tekgvs.LABS.TEK.COM (Tom Almy) (07/26/89)

In article <8907251409.AA17215@jade.berkeley.edu> Forth Interest Group International List <FIGI-L%SCFVM.bitnet@jade.berkeley.edu> writes:

>b) Chuck tends to push a new radical idea every few months or so. [...]
>   2) Typing on a 5-finger keyboard, where you just type in the binary
>   value for the ASCII keyboard (the high bits are "sticky" somehow).

I saw him type with this.  There were two additional "keys" (actually 
Microswitches), one for the left side of the palm and one for the right side.
This gave him complete ASCII keyboard.  Personally, I thought the whole thing
was embarassing -- obviously much slower and more confusing than a standard
keyboard.  This sort of thing doesn't help his credibility or the credibility
of Forth.  (I won't dispute his genius, just that he does seem to have more
than his share of harebrained ideas!)

Tom Almy
toma@tekgvs.labs.tek.com
Standard Disclaimers Apply

ZMLEB@SCFVM.BITNET (Lee Brotzman) (07/27/89)

>In article <8907251409.AA17215@jade.berkeley.edu> Forth Interest Group
>        International List <FIGI-L%SCFVM.bitnet@jade.berkeley.edu> writes:
>
>>b) Chuck tends to push a new radical idea every few months or so. [...]
>>   2) Typing on a 5-finger keyboard, where you just type in the binary
>>   value for the ASCII keyboard (the high bits are "sticky" somehow).
>
>I saw him type with this.  There were two additional "keys" (actually
>Microswitches), one for the left side of the palm and one for the right side.
>This gave him complete ASCII keyboard.  Personally, I thought the whole thing
>was embarassing -- obviously much slower and more confusing than a standard
>keyboard.  This sort of thing doesn't help his credibility or the credibility
>of Forth.  (I won't dispute his genius, just that he does seem to have more
>than his share of harebrained ideas!)
>
>Tom Almy
>toma@tekgvs.labs.tek.com
>Standard Disclaimers Apply

   I saw the famous 7 microswitch keyboard when Chuck came to give
a talk at NASA Goddard Space Flight Center several years back.  He had a
Novix 4000 chip on a 4"x4" circuit board with a half-height 5 1/4" floppy
and a 5" monochrome monitor.  The whole thing was perhaps 6"x6"x6" -- maybe
smaller.  It plugged into the cigarette lighter of his car.  He used the
microswitch keyboard because it required only one hand, so he could
drive and write code at the same time.
   I get nervous when I see people driving and talking on their cellular
phones at the same time, but that takes the cake!
   Perhaps typing in ASCII codes from memory is slower and more confusing
for the general computing populace, but you must remember that Chuck comes
from the time when computer programmers debugged programs by reading core
dumps and disassembling the hex codes in their heads.  I seriously doubt
that working a 7-switch keyboard was much of a stretch for him.

-- Lee Brotzman (FIGI-L Moderator)
-- BITNET:   ZMLEB@SCFVM
-- Internet: zmleb@scfvm.gsfc.nasa.gov
-- The government and my company don't know what I'm saying.
-- Let's keep it that way.

cooper@vlab.enet.dec.com (g.d.cooper in the shadowlands) (08/01/89)

In article <8907271826.AA19514@jade.berkeley.edu>, ZMLEB@SCFVM.BITNET (Lee Brotzman) writes...
	       [Text about 7 key input device deleted]
>   Perhaps typing in ASCII codes from memory is slower and more confusing
>for the general computing populace, but you must remember that Chuck comes
>from the time when computer programmers debugged programs by reading core
>dumps and disassembling the hex codes in their heads.  I seriously doubt
>that working a 7-switch keyboard was much of a stretch for him.

I come from a time when debugging was done from core dumps, hell I
used to debug by reading memory through the front panel, and I find
the idea of typing in data via direct input of ASCII codes ridiculous.

Memorizing the ASCII code tables and being able to decode machine
instructions does *NOT* mean that I or any one that I know would want
to have to go back to binary input, actually we generally used octal
or hex (DEC vs. IBM).

Chord keyboards are one thing but this is ridiculous.  We have tools
to make the job of programming easier.  This is a step backwards past
the dark ages.

	       With somewhat fond memories of a KENBAC,

				shades
============================================================================
| But I that am not shaped for sport- | Geoffrey D. Cooper                 | 
| ive trick, nor formed to court an   | cooper@vlab.enet.dec.com	   |
| amorous looking glass...            | business (508) 467-3678            |
|                                     | home (617) 925-1099                |
============================================================================
Note: I'm a consultant.  My opinions are *MY* opinions.

jax@well.UUCP (Jack J. Woehr) (08/02/89)

	With all the flack Chuck is taking about his seven-key keyboard,
I guess I better not mention the THREE key keyboard he demo'd at the
1987 FIG Annual Convention.

	So I won't tell you that he took his business card, sliced it with
an exacto knife, put brass tabs on the underside, and ran a full Forth
development system with this device.

	Keeping you in the dark ...

{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}                                                                        {}
{} jax@well     ." Sysop, Realtime Control and Forth Board"      FIG      {}
{} jax@chariot  ." (303) 278-0364 3/12/2400 8-n-1 24 hrs."     Chapter    {}
{} JAX on GEnie       ." Tell them JAX sent you!"             Coordinator {}
{}                                                                        {}
{}  "Darkness is so great it gives horns to a dog" - Chinua Achebe        {}
{}                                                                        {}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}

karl@ficc.uu.net (karl lehenbauer) (08/23/89)

In article <12974@well.UUCP>, jax@well.UUCP (Jack J. Woehr) writes:
> 	So I won't tell you that he took his business card, sliced it with
> an exacto knife, put brass tabs on the underside, and ran a full Forth
> development system with this device.

Yeah, well I've typed in colon definitions from a MIDI keyboard.  It gets pretty
tedious.
-- 
-- uunet!ficc!karl	"Have you debugged your wolf today?"