home .. forth .. colorforth mail list archive ..

[ColorForth] Let's talk philosophy


Jack Johnson wrote:
> If I'm interpreting his statements correctly, 
> it seems that Chuck favors building "the right 
> tool for the job" rather than the Unix philosophy of "do
> one thing, and do it well (and pipe it to the next 
> thing until the output looks right)".

Yes. Chuck is in the custom silicon business so the also
likes the idea that cheap specialized hardware is better
than expensive general purpose hardware for many many
problems. 

I heard a fascinating analogy from Joe Zott.  He said
that when electrical motors were expensive early
in the last century the first home appliances all
shared the same electric motor.  You would reconfigure
the equipment for each job.  Want to mix? Attach
the motor to the mixer.  Want to ... ?  Attach the
motor to the ...   Later after processing power
got cheap each appliance had its own power because
it was more convienient and more efficient both
in terms of power and time.

Now when personal computers were first invented
the processors were expensive, so you got one.
You would configure the system to attach
processing power to a WP program.  Then when
you wanted to process ... you would reconfigure
so you could use that expensive source of power
on each job.

Now, Chuck is pushing the idea that processing
power is absurdly cheap.  Other people are
promoting the idea that you need a very expensive
general purpose engine and let the 100 or 1000
things you want done all share the expensive
source of power.  That is their business, that
is how they make their money.  While Chuck is
saying that in many cases an appliance with
a $1 processor will be more cost efficient,
and more time efficient for most things than
using a expensive general purpose computer to
.001% of its potential capabilities.

What do people want.  When the average person wants
to surf the web or exchange email with other people
do the want to throw the on switch on the appliance
or do the want to sit and wait and wait for
Windows and then spend years trying to learn how
the hell to get that damned thing to work?

Now remember, programmers like all that ridiculous
stuff, that is what makes them special. The more
ridiculous the more special they feel. But average
people just want to get the job done they really
don't want to have to become computer experts to
do things can be so simple.

Chuck also thinks that everyone should not use the same
hardware or software or do everything the same way.
He says the problem is that "things get locked in" and,
well "they can get locked in wrong, forever?"

He says that his tiny colorForth is designed to be
the core that he would use to attack any problem.
He doesn't want to start with every application that
he has written and every tool that he has ever
imagined alrealy compiled into his Forth
like other people when they start a new project.
I hate seeing 10,000 words in a Forth dictionary
when the system boots up!

> I feel like I'm starting to understand Chuck's 
> philosophy, and I agree with it, but I also think a 
> very valid flipside is the steaming pile of coding
> heritage we share with the myriad other languages out there.  

Yes but some of us have heard this so many times.  Why do
we need 'C'?  Every program has already been written
in Fortran or Cobol.  Cobol is clearly a much better
language because it is what most programs are written
is so why do these odd people want to start all over
with a new language named 'C'?  Why?  ;-)

Sure it IS a steaming pile and it hard to change 
people's habits and it takes time.  But Chuck isn't
trying to change everything.  He just wants to
carve our a niche and do it his way, the world 
should be big enough for more than one approach.

I can't tell you how many times over the years that
I have asked Chuck, "How would do such and such?"
only to have him answer, "I wouldn't."  Then he
gives you a completely different take on how
he would approach to problem to completely
avoid the "such and such" problem.  He has said
that Forth was designed to avoid the unsolvable
problems that other people were fighting, are
fighting, and will be fighting forever.

I can't tell you how many times I showed him some
100K program that did xyz to have him say, "I wouldn't
user it.  I would write a few lines of code to do
that."  At first I thought he was being unrealistic
until I saw him do it again and again.

> Though colorForth is still in its infancy, I continue 
> to wonder in what direction it is headed.  The problem with 
> the idea of the promised land is that everyone has a 
> different idea of heaven, and once someone finally 
> writes down what heaven looks like quite a few crackpots
> will decide not to go.  

I really hope that nobody will expect Chuck Moore to
provide them with a ticket to heaven.  In fact I really
dislike when people even talk like that.  There are
people who write that we are dangerous cultists etc.
etc. and little things like that just encourage them.

> Even Chuck wants a Web browser, but in a
> decade will it look like just another XML interpreter?

I doubt it.  Remember that Chuck watched a team of
Forth programmers create a Web browser in Forth and
has written a lot of comments about what he learned
in "his first experience of watching what other
people do with Forth."  He does know a lot about the
problem.  He has thought about it for a long time.
I would be fascinated to see what he would produce
if he ever got around to writing his own browser.
Some of his browser ideas that he talked about at 
FIG (most on video and/or html) were out there even
for Chuck.

> I sometimes feel like the choices Chuck has put before 
> us with colorForth is also asking us to draw a line in 
> the sand, prodding us to decide what kind of
> baggage we want to bring with us into his brave new world. 

Interesting observation.

> Will any C code ever compile on a 25x?  

If the person who asked for 25x has anyting to do
with it you bet.  He considers that essential for
obvious reasons.

> [directed to Chuck] Why colorForth?
> What brought you here?  Not only "Where do you want to go 
> today?" but where do you want to be tomorrow?  And how 
> do you get there from here?

I actually think that Chuck has addressed those issues
for us.  Check out what he said about ColorForth over
the last five years in the gigabytes at my web site
since he mostly talked about chips from 90 to 97 and
mostly about colorForth since then in his presentations.

Jeff Fox
------------------------

To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe ColorForth
as the first and only line within the message body
Problems   -   List-Admin@xxxxxxxxxxxxxxxxxx
Main ColorForth site   -   http://www.colorforth.com