3 ms·
Forth has incredibly primitive memory management. Of course, you can add your own, but out of the box you don't have any GC. Heck, you don't even have referen
by kabdib 17y ago
Forth has incredibly primitive memory management. Of course, you can add your own, but out of the box you don't have any GC. Heck, you don't even have reference types; it's like the hoary days of BCPL where "everything is an int" until use use ints as pointers. PostScript is a very cleaned-up forth, for example.
Bootstrapping a forth-like system on your own is a great exercise; it'll teach you a lot about writing minimal systems. The _Threaded Interpretive Languages_ book is a good read, too.
My personal belief (after seeing many forth-based projects fail) is that it's a terrible language for scaling to real systems and even medium-size teams, but it's got some great ideas. The trouble comes when you do stuff like trying to treat that toy driver ("hey, i just wrote a disk driver in eight lines of forth!") as something that is ready for production. Also, a sea of invented operators like "^!" does not help, though arguably this is more developer discipline than a fault of the language.
[[[pats forth on the head. nice language, now go play]]]