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 June, 2008 08:01

Are there many differences between Forth and colorForth?

ColorForth adds a new 'time' to Forth. Forth is intrinsically interactive. The programmer must distinguish compile-time from run-time, and switch back-and-forth between them. Anything that can be done at compile-time will save run-time. In colorForth there is also edit-time, which can save compile-time. The colorForth editor pre-parses text into Shannon-coded strings that are factored into 32-bit words. Each word has a 4-bit tag the compiler uses to interpret it. Compilation is very fast. ColorForth also restricts its primitives so they can be efficiently executed by a Forth chip.

Forth is an existence proof. It shows that a computer language can be simple and powerful.

Where do you envisage Forth's future lying?

I'm betting that parallel computers will be the future, and Forth is an excellent parallel-programming language. But I expect that conventional languages will become more complex in order to describe parallel processes. Computer scientists must exercise their ingenuity and have something non-trivial to teach.

Do you have any advice for up-and-coming programmers?

I think it behooves new programmers to sample all the languages available. Forth is the only one that's fun. The satisfaction of finding a neat representation cannot be equaled in Fortran, C or even Lisp. (And mentioning those languages surely dates me). Try it, you'll like it.

What are you working on now?

Currently I'm working with OKAD, my colorForth CAD tools, to design multi-core computer chips. They're small, fast and low-power, just like Forth.

Would you like to add anything else?

To reiterate: Forth is an existence proof. It shows that a computer language can be simple and powerful. It also shows that "The race is not to the swift". The best solution is not necessarily the popular one. But popularity is not a requirement. There are many applications where a good solution is more important than popular methodology.

Computerworld Buyer's Guide - Vendors Matched to this Article

Comments

HP-67 to Forth to Smalltalk

When I was a kid my father taught me to program the HP-67 calculator. This is a stack based, RPN calculator. I can't say that this is a Forth machine, but it prepared me for my serendipitous discovery of Starting Forth at my local library a few years later. I was hooked. Forth is a great language. I didn't really understand what made it great at the time honestly. I was only 15 years old when I first tried it (on a VIC-20 with HES Forth). I still did most of my programming in BASIC then, and a little 6502 assembler.

Later on the book Thinking Forth really gave my brain a shot. Then I was exposed to Smalltalk which I consider to be Forth on steroids. I've been Smalltalking ever since, but I still pay attention to what's going on in the world of Forth. Thanks to HP, Charles Moore, Leo Brodie, and Alan Kay!

I have been using Forth since

I have been using Forth since around 1977 just after a Forth Interest Group (FIG) was formed in the San Francisco bay area. Every year at the National Forth Day meeting in November the genius of Chuck Moore has continued to impress us during his "fireside chat" about some great new innovation using the Forth approach to software. Various Forth interest groups scattered around the globe are still active, although nowhere near the peak activity level during the 1980's. Forth Inc http://forth.com is still commercially distributing programming environments for various platforms. There are free downloads for Windows, Mac, Linux, and other platforms, e.g. Win32Forth, MOPS.
http://tech.groups.yahoo.com/group/win32forth/
http://apps.sourceforge.net/mediawiki/powermops/index.php?title=Main_Page
http://www.thefreecountry.com/compilers/forth.shtml

I think that I can learn

I think that I can learn Forth at our school.

MikeCrabe

Post new comment

Login or register to link comments to your user profile, or you may also post a comment without being logged in.
The content of this field is kept private and will not be shown publicly.
Enter the fully qualified URL, eg. http://www.example.com/
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Charles H. Moore
Charles H. Moore
Add to Google
Computerworld Buyer's Guide - Vendors Matched to this Article
Zones
Zone logoZones provide focussed content from Computerworld and leading technology partners.
Newsletter Subscription
Newsletter Subscription
Sign up for our Computerworld newsletters!
Syndicate content Syndicate content
 

Computerworld Webinar

Thursday, June 11th, 2009
10:30am EST (Sydney, Australia)
Screening at your PC

Computerworld is hosting a 30 minute live webinar to help you to learn how unified communications can save you money, foster innovation and business agility by making it easier for people to find, reach and collaborate with one another.

Register Now

Computerworld Community Comments
Whitepaper

Providing Business Continuity and Disaster Recovery for Microsoft Cluster Server and Windows Server 08 Failover Clustering Apps

Clustering provides high availability for mission critical applications. A well implemented cluster tolerates failure of individual components to deliver a much increased level of availability and resilience. Get implementation tips now.

Enterprise IT Buyer's Guide
Find Technology Vendors Fast
 
Find vendors by name | Find by category
Sponsored Links
 
Send Us E-mail | Privacy Policy
Features List | Media Kit | Advertising | Contact Us

Copyright 2009 IDG Communications. ABN 14 001 592 650. All rights reserved.
Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.