Programming a Problem-Oriented Language [pdf]
This paper describes the design and implementation of a problem-oriented language (POL) using FORTH, focusing on how the language is tailored to the specific needs of a particular problem domain, allowing users to define and extend the language itself through FORTH's flexible, extensible architecture.
Background
- This is a seminal 1970 paper by Charles (Chuck) Moore, the inventor of the Forth programming language. It introduces Forth's core ideas for the first time in a formal publication.
- Forth is a unique, stack-based programming language known for extreme efficiency, compactness, and interactive development. It was originally created to control radio telescopes at the Kitt Peak National Observatory.
- The "problem-oriented" concept means Forth is designed to be extended by the programmer: you build a custom vocabulary of "words" (commands) that directly express the problem you're solving, rather than forcing the problem into a pre-existing language structure.
- This paper is historically important because it laid the philosophical and technical foundation for a language that later became an IEEE and ANSI standard, used heavily in embedded systems, space probes (e.g., the Cassini mission), and other resource-constrained environments.