Notes on forth


Forth has the simplest syntax and therefore the simplest parser, interpreter, and compiler ever used in a "mainstream" general-purpose programming language.

Rosetta code

Forth is like nothing I've ever used before

There are only 600 forth repositories on Github

Most of the forth programmers at the forth conference appear to be 70+

Forth resources:

forth and zen

Starting forth, thinking forth

Which leads us to compactness, not only on the syntactic level, but on the abstraction level. The inability to understand software has led to a proliferation of layers, trying to shield the programmer from details that he ought not know about. Operating systems (agglomerating their own abstractions) live below runtime libraries, which in turn are the base for application level libraries that lay the ground for language-level abstractions, an ever growing tower of abstraction for abstractions sake, or better: the admission of our lack of knowledge about what is actually executing. This is considered a good thing nowadays ("ignorance is strength"), but it actually gives you nothing but disadvantages. First, the low-level interfaces to the functionality of operating systems, binary file formats or direct hardware access aren't as arcane and forbidding as they are commonly seen. They are only badly documented (if at all), or contain undocumented extensions specific to particular systems or applications. Or they are just shoddily designed by hardware engineers that have decided that the "nice" part of the interface can be done by the software guys.

Chuck has said that Forth was designed to avoid the unsolvable problems in computer science but that an industry will always exist marketing new solutions that won't really work. You just can't solve unsolvable problems. Many people use Forth today to try to find new solutions to those problems rather than using Forth to avoid those problems to solve some real problem. I have done that too and decided that Chuck was right about that.

uf forth

uf forth git repo


In this article, Jeff Fox refers to all non-forth programmers as "C programmers"

it's DIY taken to the extreme, something probably unparalleled in the history of computing, except, perhaps, the case of Lisp environments and Lisp machines (again).

Advent of code 2021 in forth (not mine)

I've tried to brainstorm a different language. A better language than Forth, and failed completely. Far as I'm concerned, Forth is it. Forth is the computer language, that everyone should be using it. And it is a social tragedy that they aren't.

- Charles Moore