Hi,
On Apr 18, 8:50 pm, Hugh Aguilar <
hughaguila...@yahoo.com> wrote:
> On Apr 18, 12:34 pm, Zbiggy <
zbigniew2011REM...@gmail.REMOVE.com>
> wrote:
>
> > In comp.lang.forth, Hugh Aguilar wrote:
>
> > > I think that Lisp is a better language for desktop-computer
> > > programming than Forth,
>
> > ...because?
>
> Because the Lispers have put in the time and effort to provide
> beaucoup libraries of useful code. In Forth you have to write
> everything from scratch --- nobody has time to dink around all day
> implementing low-level code before even starting the application
> program --- the work world is all about being productive.
You use what already exists unless you have different requirements or
taste, then you have to do it yourself, most likely. So usually canned
solutions are accepted, if possible, as easier to use. And it all
depends on both who is doing the work (and his/her skills) as well as
the project requirements. The fact that "most" commonly available (?)
Forth systems don't suit your specific needs doesn't mean Forth can't
be used, but it may just mean less people use (or need) it
specifically. Obviously more work goes into the C/C++ camps for
whatever reason.
> I think that Forth could be used for large programs on the desktop,
> but only if somebody were willing to invest the time and effort into
> writing a lot of libraries of support code (this implies a big budget
> and a relaxed schedule) --- what has been available for decades in the
> Lisp community.
Keep in mind that "Lisp" isn't one language, and there are several
"standard"s out there, not to mention implementations for (usually
popular) OSes. So what you find will vary quite greatly (educated
guess).
> Both Forth and Lisp are extensible, so these are the
> only two languages that I would consider for a large project.
"Most" others would probably suggest Java or C++. It's just a
preference, not a hard requirement.
> Nobody wants to hire me (or any Forther) to write a large program
> though, so we will never know how well Forth would work.
A lot of people in this group seem to have lots of experience, esp. in
business and big apps, so I doubt it's totally impossible. I'm sure
there are plenty of examples, I just don't know offhand. My naivety
doesn't negate the truth. ;-)
Besides, don't you remember Brodie's CD from a few months ago?
Seriously, Hugh, you obviously have a lot of ideas and experience and
passion for Forth. If you can come up with a good idea and are willing
to work on it, put up some design docs, start the implementation, and
get listed on Kickstarter (or whatever). Don't get your hopes too
high, but who knows .... It's certainly no worse than not trying at
all.
> Forth failed, not because Forth is a bad language, but rather because
> of a lack of leadership.
Who would do it? They were all busy writing books or real code or
implementing their own systems. They don't have time to do it all. As
you can see, most heavy lifting is done by a very few people. The same
is probably true about any language.
I'll admit that certain languages seem to disappear without a
perceived leader (BDFL ?), but that doesn't mean they're "dead". It's
no more dead than an OS or implementation, it still exists and runs
and works. Popularity is for various silly reasons, usually not for
true merit but just lack of time and volunteers. "If it works, use
it." It doesn't matter how old or kludgy. ;-)
> Nobody was writing libraries of useful code.
How would you know if they were, search Taygeta? SourceForge? Berlios?
Or would it just be propagated through the various Forth
implementations?
> Nobody was serious about supporting application programming ---
> everybody was dinking around with science-fair projects involving
> compiler-writing that had no practical value
Then why write StraightForth? Seriously, though, I get your point, but
not everybody is trying to be a professional Forth system, and not
everybody worries about utilizing every little end-user feature that
could possibly exist in a modern OS. It's really too much work for too
few people. Just standardizing on anything, however "minimal" you may
or may not think it is, is indeed worthwhile progress (though
thankless and grueling). All the extras can come later once you have a
good foundation.
> Also, the ANS-Forth standard was horrible --- this was
> also the result of a lack of leadership --- it was too wishy-washy in
> that it waffled on important aspects of the language, and it also
> failed to provide myriad useful functions that are very difficult to
> implement in Forth and should certainly be implemented in assembly-
> language (but they have to be in the standard for assembly-language to
> be used). There was way too much concern about legacy code, and not
> enough concern about the future --- and the result was the Forth
> didn't have a future at all --- Forth effectively died in 1994.
Forth didn't die in 1994, but the world was a far different place
then. MS-DOS was last updated (and soon deprecated), NT was just
getting off the ground, Win95 was still in the works, and 64-bit Alpha
was still new. That may have also been when Mac switched to PPC. So a
lot of stuff was transitioning, esp. to 32-bit GUIs. I know you wish
Forth had better libraries, but that's not Forth's fault but the (lack
of) people implementing it. C++ doesn't have a standard GUI either. If
you want a de facto semi-portable GUI for a language, you may have to
jump to Java.
Standards are not exactly well-reviewed, it seems. Or at least those
who have some minor interest never know whom to contact or only into
the scene later on. It's hard to get and respect everyone's opinion.
You can't ever please everyone. And some people hate certain
standards, and they're not "wrong", just have a different perception
of everything. (Why else would we have thousands of languages??)
What can you do? Change the standard? Update it? Invent your own?
That's about all, you can only control yourself. "If it lacks
something, extend it. But if it works well, there's no reason to throw
away any of what's there." -- (TP55 OOP guide) -- And keep in mind
that TP/BP/Delphi never followed the "standard"s of Pascal!
Just write your own and publish it as an alternative. I guess that's
what you're already doing. That's your right, and that's the only real
way to prove your point. Actually implementing changes gives you much
more credibility (for good or bad) than just opinions (which is why no
one listens to me, heheh).