> FORTH supports structured programming concepts
>
> But,
>
> FORTH language has almost no structure. It's not much more than an AST
> (Abstract Syntax Tree). It lacks visual grouping or a block structure.
That's very true. Even thinking of it as an AST is more than generous
> FORTH only has a single data type: integer
Indeed, that's a big problem. Types are mandatory; otherwise you have
to test every single definition.
> FORTH lacks syntax for standard mathematical notation, esp. for
algebraic
> expressions: a=2+3
Indeed, that's a major problem. No-one can ever get used with RPN.
Even after ten year of intensive training
> FORTH words (i.e., procedures) are parameterless and don't require
> expression of the parameters...
We all have problems with that. That's why we have to define 1+, 2*,
2+ etc.
> FORTH's low level operations truly are cryptic: .S ! @[EMAIL PROTECTED]
>R R> 0= ."
Yes. Fortunately, we don't have -> or & or :: or template class <X>
> FORTH doesn't manage variables, requiring extra work for stack juggling:
> DUP, DROP, SWAP, ROT
I disagree here. PICK helps a lot. For instance:
2 CONSTANT X
: FOO .... X PICK .
> FORTH's factoring concept (i.e., separation of concerns ) produces
"wordy
> sentences" with artificial created words, i.e., difficult to read
>
Yes. Factoring is the sign that one cannot cope with multi-line
definitions doing multiple things. I can have coffee and read the
newspaper afterall. Forth's intensive factoring only leads to call a
cat "A-CAT" and it' so boring.
Rod,
Thanks a lot. You really opened my eyes on the deficiencies of Forth.
I think someone should close this newsgroup and remove any website on
the internet, any book on the shelves talking about Forth, in order to
prevent people from wasting their time by giving it a try. Forth
advocates should also be sent straight to jail, because these guys
must be very dangerous for convincing people to use such an awful,
unusable, dead-born langage.
As for myself, from now on, I'll give a try only to langages that I
judge _a priori_ workable and discard any langage that features I
don't understand/don't know how to use, and won't make any effort to
try to "get it", as you cleverly do.
> And, if you correct all of those language defects or benefits, you end
up
> with a single type, interpreted language, called B - the precursor to
C...
> or, perhaps, a C derivative like interpreted S-lang.
>
You've seen the light. Thanks for that too. I suggest that the few
people working on the next standard should follow your advice in order
to fix Forth. I also suggest Corth as a new name for that new langage.


|