Ed wrote:
> Yes but how many times can one claim Forth's lack of traction in the
> marketplace is due to bad luck, lack of marketing, poor education,
> inadequate Standards, hobbyists etc. When one runs out of excuses,
> what fact remains?
IMHO the main fact that I see as limiting for Forth is its strangeness.
Forth is only suitable for people who don't fear strange things.
Example: I have a recumbent bike. Not many people do have recumbent
bikes, as they look strange. It depends on age - when I drive through a
group of kids, I get comments like "cool bike!" and "I want that, too!"
When I drive through a group of near-retirement adults, I get comments
like "strange/awful/fearsome bike!" and some people even raised concerns
about how to steer it (there is a handlebar attached to the front wheel,
you know?) or that I need to turn the pedals with my hands or something
similarly silly - people who have seen me riding it, and I certainly
push the pedals with my feets, and have my hands on the handlebar -
which is underneath my seat.
A recumbent bike looks "all wrong" for people who are used to upright
bikes. A Forth compiler or program looks "all wrong" to people who are
experienced with C or similar languages.
In the Forth community, the number of people who ride a recumbent bike
is significantly larger. Recumbent bikes have a similar lack of
traction in the bicycle world, even though they are more secure, more
comfortable, and faster than normal bikes. Why? It's obvious that they
are just too strange for adults who have settled their believes and are
no longer in explorative mode.
Therefore, I think Dirk is right: If you want to make Forth popular, get
the kids. I'm not sure if you get the kids with a cheap controller
board (maybe it's more interesting to them to program their beloved
phones), but all experience we have in the Forth community with kids is
that they get it pretty quickly and that they don't have the problems
experienced programmers have with Forth: It isn't "too strange" for
them.
I've made the experience that when you suggest changing habits to people
who have settled, they interpret it immediately as insult. When I said
to my ex-boss that I'm not going to have a stop-over flight to San
Francisco, but I take the direct flight instead, he had to approve that
(the direct flight was even slightly cheaper), but he complained
bitterly that I made them all look stupid. Look, they *were* stupid.
It's not my fault for pointing out the obvious. But these people like
to kill the messenger, and stay as stupid as they are.
When I was younger, I often wondered why the most retarded technology
seems to get the most traction. Ugly processors like PIG^HC or 8051,
x86, DOS/Windows, nowadays things like PHP. When you ask people why
they have chosen them, the response is always "because that's what the
majority has chosen". Sheeple don't think for themselves, they follow
the herd. The herd is stupid. And stupid people - when forced to make
a decision - get it wrong. At least most of the time. IBM has chosen
x86 and DOS, and nobody was ever fired for buying IBM - that's the way
these people finally make their decisions: "Even if it might be wrong
(which is inevitable, because I'm stupid), I'm not going to be blamed."
Retarded technology for retarded people. If you want to use Forth, you
have to hide it. Inside the JavaScript compiler. As boot system,
inside a controller. Or, as Carrier IQ demonstrated: In some pre-
installed spyware. Most Forth success stories are projects where the
Forth system is hidden. This is not by accident. Look e.g. at National
Instruments: They had a Forth system, Asyst, to glue all the instruments
together. They replaced it with Labview. And Labview is a huge
success. Labview is very deliberately written *not* to alienate anybody
stupid, especially not the deciders, who have never seen a real program,
but only flow-chars or data-flow graphs. That's how you program Labview
- you paint data/control flow graphs, looks like a textbook
illustration. Your boss will be able to pretend to understand it. It
does not make him look stupid, as ": foo @ swap over + ! ;" would.
Maybe I'm even wrong with Lua as user-visible language for my net2o
effort. Maybe a Labview/Matlab-like approach would be the real way to
success.
--
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/