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.