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.
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.
Latest on Development
- OOXML not suitable for Norwegian government, says study
- IETF turns introspective with new wiki
- Android apps for developers and IT pros, at a glance
- Danish parliament sets rules for open document formats
- Agile software development is now mainstream
- Smarter Linux file structure aims to ease software management
- Amazon invites developers to make Kindle software
- MashupAustralia competition winners announced
- Nokia adds Ovi Store to N900 via firmware update
- Apache mulls end of 1.3, 2.0 releases
Development Essentials
- Security experts name top 25 programming screw-ups
- Top 10 wicked cool algorithms
- Facebook app verification fee draws criticism
- Microsoft's openness stressed
- Yahoo's developer platform to launch this week
- Microsoft starts new developer portal
- Google API allows creating apps that can track laptops
- PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe
- Analyst: In-house app development fraught with waste
- Is unit testing doomed?
- Business Analyst- Leading International Banking Organisation9/02/2010
Financial Services
I.T. & T
Business Critical Project - Visual C++ Software Engineer9/02/2010
Telecommunications
I.T. & T
Visual C++ Software Engineer - Fast Paced Environment - Agile - High Transactional Systems - Senior Test Analyst - Investment Banking / Equities9/02/2010
Financial Services
I.T. & T
Senior Test Analyst - Investment Banking / Equities - 6 month contract - Blue Chip Employer - VB/.NET Developer - Warrants Business - Contract or Perm - Sydney CBD9/02/2010
Other
I.T. & T
VB/.NET Developer - Warrants Business - Contract or Perm - Sydney CBD - $ WANTED $ - Software Deployment Engineer9/02/2010
Other
I.T. & T
$ WANTED $ - Software Deployment Engineer
Whitepapers
-
E-mail Continuity | You don't know what you've got till it's gone -
Best Practices for Pipeline Management -
Justifying Business Intelligence Applications: A white paper exploring the Buy vs. Build argument -
A Solid Foundation for Service-Oriented Architecture -
Beyond PCI Checklists: Securing Cardholder Data with enhanced File Integrity Monitoring
TechWorld Blogs
Recent blog posts
- Talk about mobile computing
- iPad arrives: can Apple crack the tablet?
- Linux.conf.au 2010 kicks off in New Zealand
- VMware jumps further into SaaS with Zimbra
- Amarok 2.2.2 released – rock on!
- Happy Nexus Year
- So long 2009, and thanks for another decade in tech
- KDE 4.4 enters beta, bring on mainstream computing
- Chromium OS source released: another way of thinking
- Dell goes Android for mobile market entrance
Recent comments
- Touch Phone Accessories
1 sec ago - ayou
49 min 43 sec ago - joo joo
51 min 26 sec ago - Thanks!
20 hours 24 min ago - Transcription mistake
1 day 21 hours ago - Freeway is hardly Australian
1 day 23 hours ago - Great Business Initiative
2 days 18 hours ago - www.mintfly.com
2 days 22 hours ago - also creating unemployment
3 days 15 hours ago - How to save in one page???
4 days 17 hours ago - Well it's 2010 now...
5 days 2 hours ago - Man, catch up. You're being
6 days 3 hours ago - Rhapsody in Australia
6 days 3 hours ago - ipad reaction
6 days 18 hours ago - Capacity Bollenecks
1 week 8 hours ago - not only for "young folks"
1 week 1 day ago - Take action now
1 week 1 day ago - u guys are a idiots. i have
1 week 1 day ago - David Southern
1 week 2 days ago - Firefox's biggest weakness: rendering
1 week 3 days ago







Comments
Post new comment