Forth

Forth Command Line and Programming Language.

Simulated old computer terminal screen showing a code snippet in Forth.

About

Forth and Me

Hi,

My name is AndrĂ¡s and I am a Forth programmer. — I hope I have managed to sound like the member of an addiction support group.

Sometimes it is good to be able to brag about having mastered a programming language that most people find esoteric, at other times people just stare at you as if you were crazy.

I have first encountered Forth when I was relatively young, before I started university. I could program fairly well at that time in various Assembly languages, BASIC and FORTRAN. In the middle of a project of analysing brain waves with a Sinclair Spectrum I read an article about this wonderful language called Forth that was so much better at that stuff than BASIC was. Very soon after that I got hold of a Forth interpreter and started playing with it.

Then I moved on to university and did most of my programming (which at that time was mostly number crunching — I was more a scientist than a programmer) in FORTRAN with the occasional Pascal and still played around with the Assembly languages of even more machines.

I did occasionally play with Forth but I had no real project at that time to use it for. Most projects that I did for money were just done in Turbo Pascal — which was a decent tool at that time to write PC software. I think the most exotic language I ever got paid to write programs in was PROLOG.

Then I finally had a chance to work on something where I could define what tools I wanted to use. I had to build automated experiments using a robot and I chose Forth to program it.

A picture of a robot performing an experiment in a laboratory.

I had a robot that was originally designed for the electronics manufacturing industry and I have build all sorts of customized lab equipment so that the robot could perform organic chemical synthesis experiments. The experiments was programmed in Forth.

At that time I wrote articles about the Forth systems I have created for my project in Forth Dimensions — the publication of the Forth Interest Group (FIG):

An Assembly Programer’s Approach to Object-oriented Forth
Does Late Binding Really Have To Be Slow?

Eventually my project earned me a Ph.D. and being active in the Forth community lead to a job offer to work on an Internet appliance programmed entirely in Forth based on the i21 Forth chip.

After various troubles, and the 2000 stock market crash, I was out of a job. Fortunately I was a heretic and even while working as a Forth programmer I did participate in various side project such as creating C compilers to run more standard code on various stack based processors and porting low level TCP/IP code, playing around with OS design and the like.

So even though my official career as a Forth programmer was over I did manage to find other jobs and make a living — mostly writing code in C, which I do till this day.

I also did a fair bit of Java programming a few years ago, but these days I prefer to do things in C# if I have a choice.

While I have not considered getting involved in any big project that uses Forth exclusively, in all my projects I have ended up adding a Forth command line to one thing or another as described in the manifesto of this website.

Last updated: April 23, 2014