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

[ColorForth] Why I'm Here


Well, as long as everyone else is writing their manifestos, I'll join in:

I've been a software developer for almost ten years.  I really enjoyed my work
for the first five years.  The company I work for develops distributed systems
that monitor and control street and highway traffic systems (traffic signals,
electronic signs on highways, advisory radio, etc.)  I got play with a lot of
different things, and most of our software was custom-written from scratch, so
I understood how it worked.

Then our clients started demanding that the systems run on Windows and Unix.  I
have gradually became overwhelmed by all the complexity.  I'm spending less and
less time designing, writing and debugging our software, and more and more time
figuring out "configuration issues".  Like which version of Oracle works with
Windows NT Service Pack 6a, and which version of Microsoft's ODBC drivers work
with that version of Oracle, and which version of Microsoft Access works with
those ODBC drivers, and which version....  I wanted to develop neat
applications, but was instead just spending my time trying random combinations
of DLL versions and undocumented configuration options hoping that something
would eventually work.

I was about to give up on software development for good.  Then I ran across
Quartus Forth for my Handspring Visor.  Finally, something simple that I could
use to write software that worked!

What I enjoy most about playing with Quartus Forth is that it is a native code
compiler, and includes an assembler and disassembler.  So I can manually
optimize everything to my heart's content, without needed to write *everything*
in M68000 assembly language.

I played with fig-Forth a little bit back in the 80's, when I was a
thirteen-year-old geek with an Atari 800 computer.  Back then, I was too
young/inexperienced/isolated to understand how powerful it was.  Now, it is
obvious to me that Forth is The Right Thing.

I was fascinated when I started reading the stuff at the UltraTechnology site. 
Unlike all the ANS advocates in c.l.f., here were people trying to make Forth
even simpler and even more efficient.  But I was frustrated by the lack of
details--the presentations give an inkling of what Chuck is talking about, but
not enough for my taste.  I wanted to see real code and real applications in
colorForth, but couldn't find any.  All the really amazing stuff that Chuck and
Jeff talk about is not available to the rest of us.

So, when I found out that Chuck was going to be releasing colorForth to the
world, I dove in with both feet.  I don't think I'll ever use it to do any
"real work", but I'm sure that playing with it will be enjoyable and
educational.

I'm not doing anything with it right now because (a) I'm busy with other
things, and (b) it isn't ready yet.  I don't want to have to figure out how to
get my floppy drive and video card to work with it.  I want to play with Forth,
not with the BIOS.  So I'm going to wait a while.  I may create my own Forth
for my PDA as a diversion.

I have a few questions.  The people on this list come from a wide variety of
backgrounds, and have a wide variety of opinions on what colorForth is and
should be.  And of course, everyone believes that their own assumptions are the
correct ones.

First, here are some definitions that I have in my head.  Do others agree?

- Forth: a programming language based around the concept of defining words in a
dictionary.  A few primitive words are "built-in" to the kernel and/or
hardware, and other words are defined in terms of those words.  Data is passed
from word to word on a stack.

- Color Forth: a dialect of Forth that uses color-change tokens rather than
visible words to control the state of the Forth interpreter and compiler.  Also
implies a minimal primitive wordset and kernel, based upon that of Machine
Forth.

- colorForth (note capitalization and lack of word break): the implementations
of Color Forth developed and used by Chuck Moore.  There are other Color Forth
implementations available, such as Flux, but they are not compatible with
colorForth (nor are they necessarily very similar other than the use of color.

- Pentium colorForth: the implementation of colorForth for Pentium-based
"IBM-compatible" PCs, available from the http://www.colorforth.com web site.

Reading Jeff Fox's messages, it seems that he believes that "Pentium
colorForth" is somehow not "real"--that it is a demo, or a toy, or a
proof-of-concept, or a cross-compiler for some target chip.  Is that how
everyone else sees it?

-- Kris


__________________________________________________
Do You Yahoo!?
Buy the perfect holiday gifts at Yahoo! Shopping.
http://shopping.yahoo.com
------------------------

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