Forth has an amazing history. It was used for a lot of
the early space probes that had tiny processors with minimal RAM. Some
of those have been running now for decades, so Forth is pretty sturdy.
The problems that I saw with Forth when I investigated it were that it
is what I call a write-only language. As the dictionary builds up, very
little is written in base Forth primitives, so the code has almost zero
actual Forth commands in it, and everyone builds their own set of
dictionary favorites. I think a better description would be that it is
a personal or project level language, highly unique to it's
environment. That is not necessarily a disadvantage, but it does mean
that receiving code from other sources without a thorough documentation
of the dictionary entries may be quite frustrating. On the other hand,
outside of cold assembler or object code, I don't know of any system
that is much more compact. I remember seeing some studies (from many
long years ago) that showed that Forth programs were often more compact
than hand written Assembler. As was noted elsewhere, Forth is also
supposedly the easiest language to port from processor to processor, as
the core primitives are infinitesimal. It is my understanding that back
in the day, Forth was often the first language of any kind on many
processors, because it took so much less effort than writing an
Assembler.
Everett L.(Rett) Williams II
|