21st Century Forth

Through the group consenses evaluation of Forth and its needs, a basis for a 21st Century Forth can be established. This is what was gleaned from the attendees of the morning session for the Silicon Valley FIG on January 24, 1998.

Others can add to or improve this list if they like by e-mailing john.carpenter@stanford.edu (John D. Carpenter).

This list provides a basis for further SVFIG meeting morning sessions and will ultimately provide input for the next revision of the Forth ANSI standard as the "what" here evolves into the "how" subsequently.

What's good about Forth
small
easy to understand
extendable
adaptable to programmer
minimal syntax
interactive
open compiler/interpreter
simple architecture
source code available
helpful in learning about hardware and software
What's bad about Forth
NIH (not invented here)
cryptic reverse polish notation
difficult to learn
documentation sometimes lacking or unavailable
unconventional syntax
no linkage with other languages
getting more complex
lack of data typing
source (proprietary protection problem)
What 21st Century Forth should be
work in embedded applications
work with networks and Internet
work with large systems (operating systems, graphic user interface)
be able to be taught to programmers and engineers
What Forth needs
reuseable binaries (other languages & headers)
more/better/useable libraries
safety (year 2000)
better documentation
more examples
workable standards
better gui/window editor w/more information
package confidence
more debugger integration
works with newer CPUs
publications
big daddy $$$
educational opportunities
more types of multitasking/multiprocessing
21st Century Forth desires and vision
real/virtual machines/core
scriptmaking (language to taste)
real compile toggle (memory, speed, optimization)
integratable applications
"browser" environment *
environments (such as voice) interpretation (fuzzy)
pda's bases, smart cards, etc
servants (robots, etc) applications

* Note that browser is in quotes; future human interface to a general purpose computer and many dedicated purpose computers may well be derived from what is now a browser interface. There is no name for such an interface yet so "browser" will do for now.