HACKER Q&A
📣 johnisgood

What do you think about Forth?


What do you think about the programming language Forth?

Do you use it professionally, or are you a hobbyist?

What made you like it or get into Forth?

Do you have any larger projects written in Forth that is being used today? If yes, what is it about? If it is public, please do share the source code!

What makes it different to other programming languages?

Is Forth worth learning?

What useful resources do you have for learning Forth or just generally about Forth? For the latter, I am thinking about something like https://forth-standard.org and https://theforth.net. The latter is a package manager and repository for Forth.

If you can think of any other questions, please feel free to post it and we could start a thread there.

Let us make this submission all about Forth! I wish we could revive Forth. Do you think it is worth it? Do you think it is possible? Whichever your answer is, why?


  👤 gardenfelder Accepted Answer ✓
1981 through ~1996, I used Forth to build expert systems and, eventually, a discovery system modeled after Doug Lenat's Eurisko coupled with Ken Forbus' QP Theory. That platform used a Lisp-like codebase supplied by Bill Dress. The system was used to research and defend a dissertation on polymer curing - process control; a taxonomic knowledge base could be built with a simple constrained natural language interface - that project found its way into an honors biology class for exploring immune response to various insults. It was written on an ancient Mac with UI powered from Pascal. What do I think about Forth? I will agree with anyone who tells you that Forth is more a way of thinking, far less a programming language. Charles Moore was chock full of wisdom he would toss around; things like "if you can, let the compiler do the work". That was one of the neat features: you could jump out of code and directly into the compiler to compute things. I have moments when, now that we are not saddled with the limitations of 8-bit CPUs, I think it would be fun to dust off my program and bring it up on a large memory system. Alas, that codebase is locked up on a truly ancient cartridge disk for which no drivers exist anymore.