The A-Z of Programming Languages: Forth

Charles H. Moore talks about the origins of Forth and how it shows that a computer language can be simple and powerful.

Was the language developed particularly for your work at the National Radio Astronomy Observatory?

I did most of my work at NRAO in Forth: controlling several radio telescopes and data-collection/reduction systems, with the reluctant approval of the administration. The only reason this was permitted was that it worked: projects took weeks instead of years, with unparalleled performance and capabilities.

If you had the chance to re-design the language now, would you do anything differently?

Would I do anything differently? No. It worked out better than I dreamed. The thing about Forth is that if I wanted a change, I made it. That's still true today. Forth is really a language tool kit. You select and modify every time you encounter a new application.

Do you still use/work with Forth?

Yes indeed, I write Forth code every day. It is a joy to write a few simple words and solve a problem. As brain exercise it far surpasses cards, crosswords or Sudoku; and is useful.

What is your reaction to comments such as the following from Wikipedia:

'Forth is a simple yet extensible language; its modularity and extensibility permit the writing of high-level programs such as CAD systems. However, extensibility also helps poor programmers to write incomprehensible code, which has given Forth a reputation as a "write-only language"'?

All computer languages are write-only. From time to time I have to read C programs. They are almost incomprehensible. It's not just the syntax of the language. It's all the unstated assumptions. And the context of the operating system and library. I think Forth is less bad in this regard because it's compact; less verbiage to wade thru. I like the observation that Forth is an amplifier: a good programmer can write a great program; a bad programmer a terrible one. I feel no need to cater to bad programmers.

Do you know of many programs written using Forth, and if so, what's your favourite?

Forth has been used in thousands of applications. I know of very few. The Forth Interest Group held conferences in which applications were described. It was amazing the variety. My current favorite is that Forth is orbiting Saturn on the Cassini spacecraft.

In your opinion, what lasting legacy do you think Forth has brought to the web?

The various Web pages and forums about Forth make a powerful point: Forth is alive and well and offers simple solutions to hard problems. Forth is an existence proof. A lasting legacy to KISS (keep it simple, stupid).

What made you develop colorForth?

I was driven away from Forth by the ANSI standard. It codified a view of Forth that I disliked: megaForth; large, unwieldy systems. I was finally faced with the need for VLSI chip design tools. And [I was also] blessed with some insight as to how Forth could be made faster, simpler and more versatile. Hence, colorForth. Sadly [it has been] ignored by most Forth programmers.

Join the Computerworld newsletter!

Error: Please check your email address.

Tags a-z of programming languages

More about IBM AustraliaISS GroupMicrosoftSaturnWikipedia

CIO
ARN
Techworld
CMO