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

[ColorForth] Let's talk philosophy


Jeff Fox wrote:
.....
>
> Most people don't want, can't use, and don't need
> a million different attachments, but with a PC
> that is the way you have to go.  The anology
> explains part of why our stuff is 1000 times
> smaller, cheaper and simpler and yet can
> compete on performance on jobs where the tool
> you want is attached to the free motor.
................. 
> But I did try hard to follow, understand, and
> explain to others the ideas behind colorForth.
> I have repeated that to understanding this
> stuff makes most sense if you follow Novix to
> RTX to ShBoom to P21 to F21 to c18 to 25x to
> 1000000x etc.  Because if you do that you
> see that Forth got simpler and simpler as
> Chuck got the hardware and software in sync.
> 
> But if you went from F83 to ANS Forth in that
> same time, over the last fifteen years, which
> is really very very little change except for
> decoupling from the closeness to hardware and
> decoupling from the power of simplicity
> you are still doing, as Chuck has said, Forth
> the way he was doing it twenty years ago.
> 
> (actually you took a branch IMHO off toward
> coventional computing, away from Forth, and
> have been going that way for the last fifteen
> years like most other people and Chuck is
> just too diplomatic to say that.  He can't
> really because he is the partriarch.  I am
> not.  I am just his latest apprentice.
........................ 
> I cannot run Chuck's colorForth on any of my
> machines.  But I will implement my own version
> of colorForth, on F21.
> 
> I am a participant in the colorForth mailing
> list because I am interested in the subject.
> I also think that I can help some other people
> to understand the ideas.
> 
-----------------------

This thread started off rather ominously but has turned out well. 

My take is that Chuck would like each of us to implement our own 'Colorforth'.

Colorforth is a very personal tool, as was Forth when Chuck first invented it.
It's the epitome of 'blackbelt' programming, where the programmer understands
the hardware, the software implementation, and the execution model
_completely_.  Chuck designed his CF to suit himself, that's why it has a one
handed keyboard, large type, and so on. He's not saying that yours has to have
those things, he's showing you that you can have anything you want! To argue
about them is to miss the point.  Look at the new things he's recommending: The
A register, color, tail recursion, and simplicity, among others. Take what you
want and run with it!  Make it your own and then bring your best ideas back to
this list for others to try.

***********

Most people seem to use their computers for surfing the web, email, and maybe
playing games. Excluding the office desktops with
wordprocessor/spreadsheet/presentation software, there isn't a lot of
'computing' going on on most PCs.

Given people's current expectations for browsers (antialiased serif typefaces,
images, ssl, multiple plugins including flash, realplayer, mp3, etc.) it is
doubtful that ColorForth (or assembler) is the right tool to implement a
'better' version. With all that feature 'bloat' you can't avoid L1 and probably
L2 cache misses. Speed is limited by the connection to the net, anyway.  Code
maintenance and enhancement (virtual reality?) by successive generations of
average coders (not Forth's strong suit IMHO) becomes a prime consideration.  

You could simplify the browser.  But people, including, I dare say, most of us,
would not want a DOS style browser without the ability to, say, buy from Amazon
using a secure link.

You could spend years of your life trying to emulate/improve these and similar
technologies, but for what purpose? Market forces appear to be against you. And
it's a rapidy moving target.

Small is beautiful, do things that are match for Colorforth. Embedded things
like super cheap controllers and ultra tiny robotics, for instance.

In closing, IMO you don't have a software system if it doesn't implement
itself, so the challenge is to rewrite your Colorforth in documented
Colorforth.  Implement a CF assembler and use it as little as possible to
create the second generation bootstrap code. (It doesn't have to cover the
whole Intel instruction set.)  Then you've got a solid base and can talk about
extensions. 

Regards, KBK
-- 
   K u r t    B.   K a i s e r
   k b k @@ s h o r e .. n e t
------------------------------
------------------------

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