[comp.lang.forth] Forth Popularity

marmar@mtk.UUCP (Mark Martino) (12/28/89)

I guess it might be in the eye of the beholder, but I found Forth easier
to learn than BASIC and definitely easier than C.  C is deceptive in
that learning the syntax and operators of the language doesn't seem to
be enough.  Even after four years of using it along with assembly
language, I still get tripped up on standard I/O, compiler jokes,
include files, and, my favorite, "idioms".  These last items seem to be
almost operators, but not quite.  Someone always seems to be introducing
a new collection of C operators, calling it an idiom, and insisting that
it's so useful it's almost part of the language.

Forth does have a lot of words, but I found learning how to use them
fairly painless.  At the risk of seeming a churlish dolt, I found it a lot
easier to understand Forth words than to sort out the subtleties of C
syntax.

"Vast amounts of memory" is one of my favorite boondongles.  Although
the cost and availability of memory keeps going up, except for Forth,
every new innovation in software demands more memory than most people
can afford.  It's kind of like saying, "Why are you complaining that
cars cost $12,000?  Look at how much more efficient they are and look at
all the swell gadgets that weren't available  before!"  Well, personally,
$12,000 is still a big bite for me.  All "vast amounts of memory" has
done for me is put powerful applications even further from my financial
grasp.

Forth could easily be the language of the people because it is easy for
non-techs to learn and because you can, even though nobody has yet,
build a cheap system with it.  Less memory usage means less memory
management and less disk access and less memory hardware.  As I've said
before, a properly marketed, inexpensive and easy-to-understand, personal
computer running Forth will make a lot of money and will make Forth the
language for everybody.

Forth can be to software what day-to-day arithmetic is to mathematics,
something that everyone can learn and use in everyday life.  This would
have happened sooner, but C, Pascal, Lisp, and even PostScript have one thing
that Forth has not yet achieved, acceptance by the educational community.
I don't know that it ever will because it's just too simple.  The
academics I've talked to and the professionals I've worked with seem to
believe that if one doesn't need formal training in software to make use of a
language, it can't possibly be useful.

A cheap Forth computer can do an end run around this attitude and I
think the world will better for it.

wmb@SUN.COM (12/29/89)

> Forth could easily be the language of the people because it is easy for
> non-techs to learn

My observations of people have led me to believe that many (most?)
people simply do not want to learn, regardless of whether or not it's easy.

Hackers (who love to learn) are a special breed.

> As I've said
> before, a properly marketed, inexpensive and easy-to-understand, personal
> computer running Forth will make a lot of money and will make Forth the
> language for everybody.
> ...
> A cheap Forth computer can do an end run around this attitude and I
> think the world will better for it.

Several points:

Remember that the vast majority of computer buyers are not programmers,
so they do not want to learn any computer language at all.  This is one
of the reasons the Macintosh has been successful; the visual user interface
is not percieved as a "computer language" (even though it is a language,
in some sense), whereas the DOS command interpreter is a computer language.

Several attempts have been made to build the "computer running Forth"
that you describe:  The Jupiter Ace, the Epson Valdocs system, and the
Canon Cat.  All failed for one reason or another.  Of course, you might
counter that they were not "properly marketed", but I believe that
"properly marketed" is rather a circular concept.  If a system is successful,
then it must have been properly marketed, and vice versa.

Who can say for sure why some systems catch on and others don't?  In my
mind, market success involves a whole lot of simultaneous factors, and
one of the biggest factors is just blink luck.  Limited success can be
predictably achieved just by doing a good job and covering all the bases,
but "big time" success involves the luck factor.  In order to influence a
LOT of people (as the phrase "make Forth the language for everybody" seems
to imply), you need to achieve the "big time" success.

By and large, people don't want a better computer language; instead,
they want to collect their paycheck then go home and drink beer.  Only
a few of us chronically dissatisfied individuals keep thinking "there has
to be a better way".

Mitch

peter@ficc.uu.net (Peter da Silva) (12/29/89)

> A cheap Forth computer can do an end run around this attitude and I
> think the world will better for it.

It's been done. The Jupiter Ace, a Sinclair ZX-somethingorother with Forth
instead of Basic. It was under $100. It went nowhere.
-- 
`-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>.
 'U`  Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>.
"It was just dumb luck that Unix managed to break through the Stupidity Barrier
and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com

dunn@uhccux.uhcc.hawaii.edu (John Dunn) (12/29/89)

>My observations of people have led me to believe that many (most?)
>people simply do not want to learn, regardless of whether or not it's easy.
>
>Hackers (who love to learn) are a special breed.
>
>By and large, people don't want a better computer language; instead,
>they want to collect their paycheck then go home and drink beer.  Only
>a few of us chronically dissatisfied individuals keep thinking "there has
>to be a better way".
>
I couldn't agree more.  I have said it before, and I say it again,
Forth is the language of choice if you are doing creative programming.
Most programmers are workers, not creators; and many who are highly
creative are stuck in non-creative programming jobs.  

C is a good language to implement someone else's ideas; and if you
happen to be a manager responsible for tracking the progress of
several programmers, you *really* don't want them munging around
with a "loose" language like Forth.  

But if you are working out your own ideas, if you are one of the few
programmers who are in fact highly creative artists, and more to the
point if you are in a position to have creative control of your work
- then you are probably already a Forth programmer.

peter@ficc.uu.net (Peter da Silva) (12/29/89)

> I couldn't agree more.  I have said it before, and I say it again,
> Forth is the language of choice if you are doing creative programming.

Only if you define "creative programming" as "small cute hacks that amuse
other Forth programmers".

And personally, I think Logo, Lisp or Smalltalk are better choices for that.
The only advantage Forth has over Lisp and Smalltalk is that you can build a
reasonably fast system that'll run in very little memory.

> But if you are working out your own ideas, if you are one of the few
> programmers who are in fact highly creative artists, and more to the
> point if you are in a position to have creative control of your work
> - then you are probably already a Forth programmer.

Yes, I've been there. It's great for inspiration. But once you have gotten
past that first idea and want to *do* something with it, you need better
tools. Sure, you *can* carve a figurine with a cold chisel...
-- 
`-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>.
 'U`  Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>.
"It was just dumb luck that Unix managed to break through the Stupidity Barrier
and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com

dunn@uhccux.uhcc.hawaii.edu (John Dunn) (12/30/89)

In article <Z.UFCggpc2@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:
>> Forth is the language of choice if you are doing creative programming.
>
>Only if you define "creative programming" as "small cute hacks that amuse
>other Forth programmers".
>
>And personally, I think Logo, Lisp or Smalltalk are better choices for that.
>The only advantage Forth has over Lisp and Smalltalk is that you can build a
>reasonably fast system that'll run in very little memory.
>
>Yes, I've been there. It's great for inspiration. But once you have gotten
>past that first idea and want to *do* something with it, you need better
>tools. Sure, you *can* carve a figurine with a cold chisel...

There have been large, sophisticated applications written in Forth, ay
as you have read here on the net.  My own Lumena for Time Arts Inc. is
also one such.  Probably the most successful of the large scale
professional imaging packages, definitely not a "small cute hack".

The problem with Forth is when you need to go to version 2, and now
your successful application has a programming team of competent, but
not overly creative people: the usual case in the commercial software
world.  That's when it's time to look at the original Forth program
as a blueprint, to be rewritten in C, as it is expanded upon for
the (by now) known customer base.

I have prototyped in Lisp, and with the object overlay, Flavors.  As
logical constructs I like them even better than Forth - but as you
say, the prototype built on these systems looks and feels nothing
like the finished product.  Forth is the only language I know of that
you can work in creative mode, and then wrap it up as a shippable
product; and then worry about the programming team only if the
product merits a 2nd version.

For large memory applications, as opposed to embedded systems, I
have had no trouble with the LMI 386 UR/Forth that runs in protected
mode with Phar Lapp's VMM.  It is every bit a large-resource language.
My point is that Forth, by its very nature is and will always be
a non-popular language.  So what?  I'd rather be in my home studio
programming my own creations in Forth than in a cubical in Microsoft
programming in C.  Forth really *is* an elitist language.  The good
part of that is anyone who has the self motivation to break out of
the mold can be part of the elite.  The good old American dream, 
ya know?

John Dunn

kaz@cadovax.UUCP (Kerry Zimmerman) (12/31/89)

In article <1JYB.5PZ.ggpc2@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:
>> A cheap Forth computer can do an end run around this attitude and I
>> think the world will better for it.
>
>It's been done. The Jupiter Ace, a Sinclair ZX-somethingorother with Forth
>instead of Basic. It was under $100. It went nowhere.
>-- 
>`-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>.

What applications were written for the Jupiter and Sinclair?  I have
no idea, but if there was not a great deal of available software,
these computers would have failed regardless of the language available.

Didn't these computers have a Chicklet keyboard?  Another reason they
may have failed.

Kerry Zimmerman
#  {ucbvax,decvax}!trwrb!cadovax!kaz  VERSYSS Corporation 213-323-8170
A difference between an amateur and a professional, 
is that a professional has the right tools.

peter@ficc.uu.net (Peter da Silva) (01/01/90)

> >> A cheap Forth computer can do an end run around this attitude and I
> >> think the world will better for it.

> >It's been done. The Jupiter Ace, a Sinclair ZX-somethingorother with Forth
> >instead of Basic. It was under $100. It went nowhere.

> if there was not a great deal of available software,
> these computers would have failed regardless of the language available.

The Sinclair didn't fail. It was a vast (albeit short-lived) success. Everyone
I know who was at all into computers and didn't already have one seemed to
pick up one of these things.

It was suceeded in this niche by the Commodore 64. Remember that sales gimmick?
Turn in a Sinclair and get $50 off your C=64? Certainly Commodore took the
Sinclair (or at least it's sales) seriously.
-- 
`-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>.
 'U`  Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>.
"It was just dumb luck that Unix managed to break through the Stupidity Barrier
and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com