Tuesday, May 02, 2006

Thinking Forth

Thinking Forth

Forth is a curious programming language to say the least. It seems to have made a lot of the same choices that Scheme has made, including:

  • Minimal and upon first glance, brutal, syntax
  • An extremly simple core language that you are expected to enhance to actually use
  • The ability to add abstractions to the language that most languages don't allow. In both languages you can effectively define new syntax - something you can't (yet) do in Java, or most other programming languages.
  • Those in the community think they have a secret weapon, those outside the community think that those in the community are nuts.

They key difference between Scheme and Forth is the resources needed to run them. Scheme provides (what I believe) to be some very nifty features, but expects modern hardware. Forth on the other hand provides all of its features, yet can run on nearly any kind of device - from a server to a microcontoroller. In fact, the form implmentation is often described in kilobytes, or even bytes.

Why do I bring all this up? The above text, Thinking Forth is a book about designing solutions to programming problems using (surprise) Forth. But the book goes beyond just being a Forth HOWTO and from the parts of the text I've read, is good read for anyone who designs software.

Even if you never use Forth, learning its lessons will be quite useful.

1 comment:

  1. Anonymous10:12 PM

    I couldn't agree more. There does seem to be a problem with some people completely not groking Forth. It's a real interesting mind divider between those who love it and those who hate it.