Forth *is* fast compared to the alternatives. Threaded code is a
nice space/time tradeoff. And it's hard to beat the simplicity of
the Forth execution model (except, maybe, 6502 assembly ;-).
There's no question, though, that RPN and the implicit stack operands
make readability of Forth programs problematic. You have to be in
"Forth execution mode" in your mind as you read to see what's being
operated on.
Another language that had this characteristic was APL. Amazingly
succinct programs that did wondrous computations, but demanded of
any reader great mental elasticity.
I've seen both languages referred to as "write only". ;-)
> Lately I've started loving 6502 ASM. After about 4 months of playing
> with it, I think it will be my only 6502 programming language. But I do
> miss the Forth stack and stack control. It shouldn't be difficult to
> implement in 6502 for "the stack".
I also enjoy programming in 6502 assembly. It's a cozy, straightforward
world, and you can go as fast as the machine allows. ;-)
Like Forth, it encourages one to write in terms of small subroutines.
Unlike Forth, almost all the context relevant to a chunk of code is
in just three registers, so it's pretty easy on readers.
And it provides complete freedom in data structures, allowing optimal
algorithms. I don't know any other language that would let me store
an array of 16-bit numbers as two arrays of 8-bit halves--and get the
benefit of so doing--without looking like Greek. ;-)
-michael
NadaNet 3.1 for Apple II parallel computing!