Re: Your mindset about Forth?



Helmar <helmwo@xxxxxxxxx> wrote:

But can Forth ever be interesting again for a mainstream? I'm,
curious. The computers today are probably too powerful for a language
like Forth. Even embedded devices now get for 2 ct more of production
costs a such fast chip that something like Forth might not be needed
anymore.

So since a new year will begin soon, where do you see the future of
Forth? Is it ANS94, ANS20xx or something completely different? Should
Forth go to desktop? Where is what Forth in the next years could make
sexy?

Forth is a language for smart people who want to Keep It Simple.

Just now, the machines are fast enough and big enough that it isn't
necessary to keep things simple. Time to market is the most important
thing, and it's faster to deliver something complicated that's cobbled
together from complicated pieces. Simplifying stuff takes longer.

The promise of Forth is that you can keep things simple on all levels
and do better than the complex approaches. This promise has not been
kept yet.

It doesn't really matter that it's complicated (or slow) to emulate
Forth on over-complex CPUs. Performance is not really an issue, time to
market is the main issue. What matters is that large projects take
longer to simplify. One person who holds the whole project in his head
can simplify pretty easily. A dozen people who work together have a
harder time. Traditionally Forthers have insisted that Forth programmers
can do more, so larger projects should be entrusted to small groups of
Forth programmers. This argument has failed.

Is Forth only for geniuses? Can Chuck Moore build a full GUI in 4K of
code and a TCP/IP stack in 2K and nobody else can? I dunno. Nobody else
has.

If there were a lot of great amateur Forth programmers we might have
competitions. Or cooperations. Who can make the best alternative to a
GUI? That might be a simpler GUI or something else that's simpler and
useful. GUIs as they now exist are very very complicated, probably
without good reason except that they provide a familiar look-and-feel.

We might look for a better simpler alternative to a TCP/IP stack. Get
something good, declare it a standard, register it, provide the
protocols and Forth code to use it anywhere, and use it. Anybody who
needs to use it can download code that should work.

Similarly with HTML. If you want to use HTML it isn't enough to meet the
official standard, your HTML server has to provide something that the
major HTML clients will understand, whether they're standard or not. And
your HTML browser has to handle a million websites that do things
however they want. You can't possibly keep it simple when you have to be
compatible with the top eight incompatible alternative systems. Make
your own standard that *is* simple, and stick to it, and even if the
rest of the world doesn't follow it you can keep it simple. It might
have various advantages -- reliability, security, etc. It might catch
on. It doesn't have to, you can get your work done regardless.

It seems to me that Forth got a big loss dealing with the 1983 standard.
But Forth got another big loss dealing with GUIs and Windows. We didn't
get a graphics standard and free Forths that provided graphics at all
tended to provide a few commands -- HLINE VLINE LINE CIRCLE ELLIPSE FILL
and not much else. We didn't get a GUI standard and professional Forths
that provided a GUI tended to do it in a complicated unForthlike way.
Maybe that was absolutely necessary to be compatible with Windows or
Macintosh or Sun, but the advantage of using Forth for those tasks was
not obvious.

Then Forth got another big loss dealing with the net. For a long time
free Forths did not provide TCP/IP (except for Unix Forths).

If you're an amateur, what does it look like? You can buy a system that
does 3D graphics that lets you write your own complex comic strip. (For
a silly example, http://www.thedreamlandchronicles.com/ .) You can get
free software that does the same thing but not as well. You can get
web-authoring tools that let you do fantasticly complex websites that
work with the browser that has the most market share, that hide the
complexities from you. None of it works perfectly but you can see
tremendous results. Or you can take up Forth, learn how Forth works, and
then you can write text adventure games that people download.

You can now get trial versions of the professional Forth systems that do
everything. You can have a Forth HTML server but the ugly details are
not hidden from you. If you want to learn all about the ugly HTML
details you can create a superior product that way, but most people
would rather just get something that mostly works.

.



Relevant Pages

  • Re: Your mindset about Forth?
    ... That might be a simpler GUI or something else that's simpler and ... Similarly with HTML. ... official standard, your HTML server has to provide something that the ... free Forths did not provide TCP/IP. ...
    (comp.lang.forth)
  • Re: Great SWT Program
    ... and anything that doesn't fit that "standard" strikes you ... even when not looking at the keyboard I can pick my arrow ... Another issue, this time with your car comparison, is that a car has ... Most likely, that GUI will evolve, rather than change wholesale. ...
    (comp.lang.java.programmer)
  • Re: OT: HTML (WAS: MF having issues?)
    ... Even though he is only serving up static HTML pages and has no idea how they work or the fine points of the language, he has a very professional looking site that he built in about an hour. ... Oliver, I can't address HTML but as a golden rule, regardless of which language/tool you use there MUST BE a STANDARD - otherwise you finish up with those inconsistencies you cited. ... The eventual standard used the syntax 'Repository' instead of 'Class-Control', which Fujitsu had from Day One. ... John Piggott - I met him only once at Newbury, for a J4 meeting in 2000, sat next to our Robert Jones who used to trundle up from Gloucester, not as a member, but as a developer contributing ideas. ...
    (comp.lang.cobol)
  • Re: Reading key presses
    ... *NOT* have an ANS standard forth, as the GUI extension is nowhere defined ... a GUI for IO. ... runs an ANS Forth standard program, the system *IS* an ANS Forth ... Tcl/Tk via the Tcl_CreateObjCommandAPI. ...
    (comp.lang.tcl)
  • Re: Is there an obvious way to do this in python?
    ... As far as GUI language/library goes: ... Some people suggested HTML, but I think HTML is a very awkward way to ... it downloads the GUI code from the server and runs it. ... The client starts your Application.py which is the same across all ...
    (comp.lang.python)