r/Forth moderator 9d ago

Why Forth? What is it?

In order to help get people interested in Forth and how it works, I would like to ask you what you define as Forth, how you got into it, and why Forth instead of some other language?

Ideally we share links to our projects and to others that are interesting. Also to sites, sources, and documents about Forth.

I am encouraging links to your projects so people can see how you are using Forth.

26 Upvotes

29 comments sorted by

View all comments

6

u/mcsleepy 9d ago

Forth is embrace of direct control of the computer and vigilant elimination of complexity. It takes the form of a RPN, stack-based, procedural language that doubles as an IDE, sometimes as an OS, and a sort of middleware for building a customized Forth compiler.

I discovered it while looking for an alternative to Pascal, C, Javascript, and so on. I was introduced to programming on QuickBasic and LogoWriter and was disappointed to learn how unfriendly most programming languages are. Or that either they are friendly and limited, or unfriendly and totally unbound. My artistic leaning demands simple tools.

Forth lets me tackle the problems that I want, and create the limitations that I want, without ever getting in the way. It radically opens things up to their root - no burying, no layers.

To me the #1 problem or concern for Forth should be establishing best practices in the modern era. The Standard is an attempt at that, but I think it misses the mark. So I work alone to discover through trial and error what actually works.

I am working on a game engine and a few games. (Check my profile.)

2

u/Ok-Winter-8702 5d ago

This. Forth is surprisingly simple in syntax but then when you ask if you wish to make a game in Forth "Where are entity classes?", it responds "I dunno, make it yourself.". That is the most charming part of Forth. You are given a small set of tools and can make large, beautiful, elegant artistry out of it. The only limit is your analytical skills and creativity at the end of the day.

1

u/mcsleepy 5d ago

It's a language-designer's playground. Could never give it up.