Wednesday | 8 October, 2008
Computerworld
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.
Naomi Hamilton 27/06/2008 08:01:45

Charles H. Moore
Charles H. Moore
Computerworld Buyer's Guide - Vendors Matched to this Article
Additional Resources
Executive Guides
Whitepapers
Zones
Zone logoZones provide focussed content from Computerworld and leading technology partners.

Newsletter Subscription

Sign up for our Computerworld newsletters!
Computerworld's twice-daily news service keeps you in touch with the latest, most important headlines from Australia and around the world.
Keep up with the latest virtualisation technologies, products, news and features.
RSS Feeds

Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experience maintaining Bash, and Bjarne Stroustrup of C++ fame.

In this article we chat to Charles H. Moore about the design and development of Forth. Moore invented Forth while at the US National Radio Astronomy Observatory to help control radio telescopes and data-collection/reduction systems.

Here he chats about why Forth was invented, as well as why he still works with Forth today.

How did Forth come into existence?

Forth came about when I was faced with a just-released IBM 1130 minicomputer. Compiling a Fortran program was a cumbersome procedure involving multiple card decks. I used Fortran to develop the first Forth, which could use the disk and graphics display that Fortran couldn't. Because it was interactive, my programming was much faster and easier.

Was there a particular problem you were trying to solve?

This computer was at Mohasco Industries. Their main product was carpet and the problem was to determine if the 1130 could help design carpets. Forth was great for programming the 2250 display, but ultimately the lack of color doomed the project.

Did you face any hard decisions in the development of the language?

The hardest decision in developing Forth was whether to do it. Languages were not casually designed. It was reputed to require a brilliant team and man-years of effort. I had my eye on something quick and simple.

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.

How did Forth get its name?

I decided to call it Fourth, as in 4th-generation computer language. But the 1130 file system limited names to 5 characters, so I shortened it to Forth. A fortuitous choice, since Forth has many positive associations.

I have read that Forth was developed from your own personal programming system, which you began to develop in 1958. Can you tell us a little more about this?

My personal programming system was a deck of punch cards, [now] sadly lost. It had a number of Fortran subroutines that did unformatted input/output, arithmetic algorithms and a simple interpreter. It let me customize a program via its input at a time when recompiling was slow and difficult.

Why did you incorporate Reverse Polish notation into the language?

Reverse Polish notation is the simplest way to describe arithmetic expressions. That's how you learn arithmetic in grade school, before advancing to infix notation with Algebra. I've always favored simplicity in the interest of getting the job done.

Computerworld Buyer's Guide - Vendors Matched to this Article
Market Place

Computerworld Member Login


 

Smart SOA World Tour

Discover how SOA can create smarter outcomes for your business.

Attend and learn:

  • How SOA is helping leading companies to become more agile
  • Where you should be applying SOA processes in your company
  • The top SOA implementation mistakes to avoid

Click here for more information.
Whitepaper

Email Archiving Implementation: Five Costly Mistakes to Avoid

Email Archiving is essential for managing email data, but is potentially expensive to implement. Read on to discover the five key areas where email archiving costs can be contained, including data capture methods and default configuration methods.

Enterprise IT Buyer's Guide
Find Technology Vendors Fast
 
Find vendors by name | Find by category
Sponsored Links