#languages
6 messages in this thread
I see all this discussion about C vs other languages, and I wonder if
ANYBODY out there has ever tried FORTH. I think it is much less cumbersome
than C, very versatile, interactive, extendible, efficient. I can get
programs going faster in FORTH than any other language I've tried. Try
JForth. It provides the ability to compile very fast small object modules.
It has two assemblers, if you like that.
Rene',
I programmed in Forth for about 4 years (did a couple of commercial
products and lots of personal stuff with it). The day I discovered C was
the last day I used Forth. I'll _never_ go back.
-sja
I have dabbled a little with Forth, too – even wrote a compiler for it some
years back. I must like I don't (yet) like C, but Forth used to worry me a
lot. The main problem with Forth (and PostScript too) is the fact that it
is not clear what values are on the stack at any given point, which means
that you have to make notes when debugging.
I read somewhere that it is easy to make totally impenetrable code with
Forth, and that its use is often banned for this very reason. Sure, you
can write impenetrable code with ANY language, but Forth seems to have a
special talent for this.
Having said that, I must say it is a very interesting and potentially very
powerful language, and I'm glad I played with it for a while, but I never
use it any more.
I have done a number of Forth implementations including the SuperPet, C64,
and even parts of one for the IBM 370 on CMS (Jack Rouse was the real mover
on that one). The number one problem that one encounters with FORTH is
that it is quite a write only language. When I was programming in it, I
never used to believe it. However I just picked up the source code to my
Full screen editor in Forth (only 8 screens) and for the life of me can't
understand a couple of the routines without serious thought and stack
diagrams (and this was commented Forth code). The same was true of my
smart disassembler and even the assembler that I wrote.
I have Multi-Forth for my Amiga, and worked professionally with FORTH about
seven years ago. Like you said, you can get a program up and running in
FORTH faster than in any other language. And, like some of those who
answered you already said, FORTH code can be very difficult to read.
FORTH, like most other languages has it's nitch. It is great for
programming quick, non-maintained code. This is why it's main application
is in machine control type operations. The code is needed yesterday, must
be very quick to implement correctly, and will be thrown out when a new
requirement comes along. This is the most important part. FORTH is not
ment to be maintained. FORTH does allow development so fast that you must
ask yourself, should I waste my time trying to figgure out what this old
program does, or develop a new program from scratch in the same length of
time.
Have you ever read Brodie's book _Thinking FORTH_ ? It is about the FORTH
programming philosophy, which is different than the philosophy of other
languages. It is probably most in line with the philosophy of Object
Oriented Programming.
go FORTH! Bill Roberts in Ellettsville In. via Whap!
I must agree quite strongly with you on the prototyping aspect of getting
something up yesterday. I have been able to do some really neat things in
Forth with virtually no work – my simulation class semester project was
less than one screen of Forth code. Brodie's books should be required
reading for all programmers. His programming philsophies really go a long
way.