From: mcguire at
neurotica.com
On Nov 26, 2007, at 1:11 PM, Roy J. Tellason wrote:
If one
wanted to work with an extensible language, Forth is the most
flexible. It is also one of the best for understanding more complex
programming concepts. It isn't that it has them built in, it is that
it
contains all the building blocks needed to create them.
Forth is definitely one of the other things that I'm looking at, but
it's
style is rather putting me off. I have a 68HC11-based board that
comes up in
it, and should probably hook it up and play with it one of these
days, or
get an emulator going, or something, just to try and get a handle on
it.
If you know of any online resources for that language I'd sure like to
hear
about them. I did snag two of Leo Brodie's books, for starters, but
not a
whole lot else.
I really, really like FORTH. Any old SPARCstation makes a great
FORTH learning vehicle (OpenBOOT), but I opted to build a small Z80
single-board computer and ported Brad Rodriguez' CamelFORTH to it as a
machine on which to learn the language. I've had great fun with it,
and the language is VERY powerful. I've extended it quite a bit;
written a full-screen editor, drivers for new hardware (I2C flash, VF
display, I2C tone generator, etc) etc etc. I hope to add analog I/O
sometime soon.
Hi
Your experience is not all that unusual. Many people that get started
in Forth find that problems that they thought were complicated
to deal with, in other languages, seem to almost write themselves.
Many are put off by the noise words ( swap dup over and such ).
Still, one finds that as one becomes a better coder in Forth,
dup becomes about the only one of these words that gets used in higher
levels of coding. The others find them selves in the lower level words.
Some don't like the RPN nature but I alway thought that it was
more natural in telling a computer what to do. It always reads
left to right, top to bottom. No artificial formulas, just what to
do and when to do it.
Type checking is that last straw for many. It can't be a high
level language if it wasn't type checked, could it? Does type
checking really produce better error free code?
I've only seen one large project ever completed on schedule
and with no errors ever found in the end product ( the Canon Cat )
and it was all done in Forth by a team of programmers, without
type checking.
It was more than just the language but the language didn't get
in the way for using better methods that actually did produce
error free code.
I have a few Harris RTX2000 chips (essentially a native FORTH
instruction set...very neat) but haven't done anything with them yet.
I really need more free time.
I've got a NC4000 on a board that I've added floppy and hard drive
to. I used old XT boards and wrote all the drivers in Forth. I also
had an EPROM programmer card that ran on a parallel printer port.
The RTX2000 was a great chip that followed the NC4000. They
fixed some of the bugs in the NC4000. The RTX2000s were often
used as accelerators on the PC bus with 386s and 486s. This
was impressive when you consider that the clock speeds of the
RTX2000 were on the order of 10 to 15MHz and the 386s were
33MHz and more.
The RTX2000s made it into space because they had a rad
harden version and they ran so cool for the amount of work they
did( never saw one need a heat sink, cool to the touch ).
On my NC4000 ( running at 4MHz ) I wrote a sort routine that
could sort 1000 signed 16 bit intergers in 19.2ms. That is
spending 19.2 us on each value sorted.
The last point is that most seasoned Forth programmers actually
write better code in other languages. They bring habits and methods
along with them that allow them to write better code.
Dwight
_________________________________________________________________
Share life as it happens with the new Windows Live.Download today it's FREE!
http://www.windowslive.com/share.html?ocid=TXT_TAGLM_Wave2_sharelife_112007