On Saturday, September 3, 2016 at 7:47:27 AM UTC-5, HAA wrote:
>
> Except that 35 years on there are still no portable programs as
> WJ makes clear.
DOUG HOFFMAN, this man's pessimism is your fault. Why didn't you
reply to every single worthless non-program spewed out by WJ?
Couldn't you have at least replied to his last batch of "I challenge
you with Rosetta Code pages that already have Forth entries" posts?
Pretty much everything WJ posts is covered by FMS-SILib.f and a bignum
library. Why didn't you show off more? Look at this poor, crying
post here. Every one of tomorrow's newspapers will carry HAA's post
above the fold. Everyone will know that you are a monster.
> Standards in Forth are wasted effort.
The effect of standards is that when I see NOT , I don't know what it
means -- but that when I see INVERT , I *do* know what it means.
The effect of standards is that Forth, which when described to someone
who's never heard of Forth should be a language whose programs are
almost impossible to port, actually can be ported from system to
system and architecture to architecture. It's still takes effort.
All movement takes effort. It remains a verb and not the noun of
'no-effort automatic universal portability' promised to us by utopians
and Java evangelists, but it's something.
The effect of standards and of even of the quality of standards that
we have, and their 'design by committee' is that we don't have the
Python 2/3 split or the Perl 5/6 split or trivial little things like
"Rich Hickey decided yesterday that laziness was a cool thing and
implemented it; fix all of your code" don't happen.
There's nothing desirable about these things. Python3 isn't
innovative; Python2 was just poorly designed. Perl6 is such a failure
of a successor that its staunchest advocates are the first to tell you
that it's a completely different language and that Perl5 will stick
around just like other completely different languages will. I
instantly realized that I preferred Common Lisp and its awful
*standard* and its terrible lack of *innovation*, but other people
fixed their Clojure code; they would still not appreciate continued
breaking changes.
If an effect of standards is that it slightly discourages innovation
like Chuck's IF ( f -- f ) or his OR (actually XOR), good.
Innovations like that deserve discouragement. You can still use
them if you want.
Incidentally, I didn't prefer Common Lisp only because it has a
standard. If so I would have to prefer C to Perl, and I don't.
Common Lisp has a good standard; it's a good language. That it also
doesn't break your code or include stupid language-memes like lazy
evaluation, these are additional weights to be placed on the scale.
Forth also has, with ANS Forth, a good standard, both in the words it
defines and the way they're defined even in its concepts.
Forth has also seen actually bad standards - a nice contrast.
There are complaints that can be made about ANS Forth. You could also
complain about the human face by pointing out that with three nostrils
humans could inhale much faster. And golly, if Americans had flippers
then we could far better achieve our obvious by-design singular
purpose of clapping, and if FIND were slightly different then ANS
Forth could far better achieve its obvious by-design singular purpose
of letting Hugh write a cross compiler without any environmental
dependencies.
And you, HAA, exposed to a litany of idiotic complaints about your own
face, would no doubt come to agree with them if your mother didn't
whisper counter-arguments in your ear *every* *single* *time* a
complaint were raised. "No honey, with three nostrils you'd have
trouble breathing in cold weather." "But mother, hasn't WJ already
made it clear that I desperately need plastic surgery? Why can't I
cut meat with my claws?!" Even if she'd told you last week that you
were beautiful, after a week of complaints you would forget, and if
not reminded would start wearing a bag over your head. You would
refuse to cut your steak with a knife, agreeing that knives are a
'crutch' and a 'wart' in your design.
-- Julian