Forth is super interesting, and worth learning, but it seems like an evolutionary dead end. Even Chuck Moore doesn't do much Forth these days, because he doesn't like having to keep track of a whole bunch of details that keep getting changed between processor families.
Chuck Moore designs processors, seems to me he's got those details handled. Last thing I heard he worked on was etherForth, but the guy's 85 years old, so he might just have quietly retired by now.
Forth was never going to be the next Java or Rust, but in its own little niche, it's fantastic. ANS Forth isn't getting any new features anytime soon, but meanwhile forth spawned a whole family of interesting languages like Joy, Factor, and ColorForth. Besides, evolution is overrated: tardigrades are still doing fine :)
Chuck gave up doing Forth in assembly for modern processors a number of years ago, but developed the GreenArrays chips that are apparently like 144 computers on a chip. He programs that in some version of ColorForth and has done several talks on it. I have no clue if there is any value because I can't understand it's use case. It is really cool though that when he builds an application, he typically understands everything from the machine level all the way through the software and he designs them both to some kind of optimal overall system. He's got to be one of the only people alive who can still claim that I'd guess.
Ugh, "computers". I'm not even a stickler for terminology, but the whole "144 computers" thing somehow rubs me the wrong way, like it's some Best Buy salesdroid telling me that a quad-core means having four computers in one box.
It's not 144 CPU cores. It's more like 144 Forth computers, with their own memory and four ports to adjacent units, making up a network mesh where each unit can also make use of both stacks and RAM of its neighbours.
So it's not like a computer with 144 1-core CPU:s sharing RAM and ports, or a CPU with 144 cores, it's something weirder and more reminiscent of a network of small computers.
Given the small amounts of compute and memory you get on each node (it’s certainly no Adapteva Epiphany or even Cell), it seems to me like it’s more of a replacement for a (low-speed) FPGA than a CPU or even a micro.
And that’s not a bad pitch! Modern silicon certainly doesn’t like to be bent into a (single-layer) FPGA shape—the result is comparatively slow, expensive, and power-hungry—but accomodates specialized functional blocks very well, so a matrix of baby processors with accompanying memory sounds genuinely like a good idea for an FPGA-like application.
Unfortunately, the GA144 is the only game in town here, and at $500 per dev kit they sure aren’t interested in hobbyists. So I’m left to admire it from a distance. (And $20 per chip is not a bad price considering the competition—as I said, FPGAs are expensive—but it still falls into the expensive-chip bucket. Not a lot of places are going to build a design around a unique expensive chip from an obscure source.)
Chuck Moore has been pretty clear that he didn't come up with this as a replacement for x86 or ARM CPU:s. The way he talks about it is closer to what you hear among permacomputing folks, it's a platform for relatively fast general computation in low-energy settings.
Yep. Thanks for explaining it far better than I could. I recall Chuck referring to applications like "intelligent dust" or something like that. He's clearly thinking very long-term (almost scifi) kinds of applications.
They honestly do sound quite interesting, and if I could fork myself off a few times to look at fun & interesting things, this GreenArray stuff would be in the list ;)