Recently, I have become somewhat disillusioned with the .NET Framework. It seems to be exploding into a disparate mass of classes and syntaxes and what-all. So, I've decided to take a bit of a break to look back at simpler times.
I coincidentally happened to stumble across the fact that my XO laptop uses Open Firmware, which has a Forth interpreter. So, I decided to take a look at Forth. I had played with it maybe about a decade ago, but never got the feel of it. Fortunately, now there are some serious texts readily available:
Starting Forth (http://www.forth.com/starting-forth/) Thinking Forth (http://thinking-forth.sourceforge.net/) After reading Thinking Forth, I finally got the gist of the language. It was still hard for me to figure out Forth's place in the programming world. Then I read Stack
Computers: the new wave (http://www.ece.cmu.edu/~koopman/stack_computers/index.html). The first thing I understood is that Forth generally beats register-based code for high-performance systems on tiny chips. The second thing I thought was that if Forth can be supported at the hardware level, why could Forth not be used for a general-purpose OS? Then I found
FORTH Core (http://jpb.forth.free.fr/anglais/coeur_forth.html). It might not be polished, but I consider it a successful proof-of-concept.
The deepest Forth-related question on my mind now is if Forth could be the basis for a high-performance, constraint-based database management system. I probably won't have enough spare time to find out, but it will be fun to experiment with.