Forth#

Background#

Forth is a programming language that uses a stack-based metaphor in an effort to reduce memory requirements as much as possible. In contrast to languages like Basic, the parser never has to "look ahead" to find additional data in order to see if a command is properly entered, any data it could need has to be pushed onto the stack as well. This greatly reduces the size of the parser, and as a result, leaves more room free for programs.

Another key aspect of the language was Forth's inherently multitasking design. The program could set up separate stacks and feed different code into each one. The Forth kernel would run each of these stacks in turn, so all Forth programs had access to these features. This made writing multithreaded code very easy, so one could, for instance, have a thread reading the joystick as it moved, and then read that value in a game loop in another stack.

The downside to the stack-based approach is that it makes the language difficult to understand by mere mortals. Even tutorials purporting to show how simple it was often ended in an unreadable mess. As a result, Forth was subject to perhaps one of the longest running fanboi wars since APL was invented. Constantly derided by practically everyone in the industry, it saw some interest in spite of this, but little commercial software emerged. The singular exception is the PostScript system, which is essentially a version of Forth modified to produce graphics output.

The Atari 8-bits were being sold right in the middle of this battle, and as a result there was a fair amount of support on the platform and some interest in the press.

Forth Standards#

(Family tree)

Tutorials#

Forth Articles#

Forth Systems for the Atari#

Videos and Screencasts#