John Chamberlain
Developer Diary
 Developer Diary · You Heard It Here First · Saturday 28 February 2004
Forth Lives On
Back in the 1980s when I was learning to program a big area of interest was the tiny, but powerful Forth language. Within a few years however use of stack-based languages like Forth and ML plunged and it looked like they were dying. Since that time Forth has made a remarkable recovery.

Forth was originally created by an interesting guy named Charles Moore in 1968. Moore was born in McKeesport, Pennsylvania, and went on to MIT and Stanford. He named Forth from a pun on "fourth generation language", a concept of theoretical interest at the time. It's first important use was to control the new 4-meter Mayall radio telescope at Kitt Peak. In the early 1990s all the Forth-based custom telescope control systems at Kitt Peak were replaced with Sun workstations. This change mirrored the downfall of the stack-based languages generally.

The key advantage of Forth was that it used relatively small, simple interpreters. Operational microcontrollers of the time changed chips frequently and were often released in small quantities for specialized purposes and hence developing an entire C compiler would for the chip would not be justified. A simple solution was to write a Forth interpreter for device. Since a Forth interpreter can fit in a few K, even the smallest microcontrollers can run Forth. Two things changed all that: microcontrollers got more powerful and more standardized. Motorola and other companies started releasing C devlopment kits that would run on all their microcontrollers. Satellites started getting entire computers inside of them. This was putting Forth out of business.

In 1994 the Forth language was standardized. This was a big step forward because a common complaint was that different dialects of Forth hindered its general use. The big break came several years later when Apple decided to standardize on Open Firmware. In the late 80's Sun had developed a Forth-based system for developing firmware, mostly for booting Sparcs. After this became an IEEE standard Apple was convinced enough to make it the basis for their new PowerPC architecture. Currently all the support chips on Macs run under Open Firmware so developers who write device drivers for Macs use Forth. This is keeping the language alive and expanding.

Not that Forth ever came close to really dying. In space science Forth has always been a big player because space ships and satellites are full of little motors that need little programming modules which are perfect for Forth. At NASA there has always been a big interest in Forth and its space-related uses.

If you have never tried Forth you may want to check it out. I have included some links below:

general Forth resources
another links/resources site

Win32forth - full Windows-based Forth
Gforth - full Unix-based Forth
- full Palm OS-based Forth
bigFORTH - compiler with nice graphical editor
IsForth - interesting one-man compiler
Retro Forth - mini compiler for playing around with

introduction to the Forth syntax

return to John Chamberlain's home · diary index
Developer Diary · about · · bio · Revised 28 February 2004 · Pure Content