2 ms·
> These days we program and interact with devices using a powerful machine like a laptop. These days? :) Using a powerful machine to program a weak machine ha
by bitwize 4y ago
> These days we program and interact with devices using a powerful machine like a laptop.
These days? :)
Using a powerful machine to program a weak machine has been a thing for decades. NES games were often developed on comparatively powerful, 32-bit machines like an HP 9000 connected to an in-circuit emulator which served as the game cartridge for purposes of testing.
But being able to talk directly with a running system, even send it new definitions as you write them, is still profoundly powerful, even if you're doing the writing on your Ryzen-powered beast of a laptop. And part of the point of Forth is, you need far, far less machine than you think you do in order to have a suitably powerful, interactive programming environment.
- skybrian 4y agoBy ”these days” I meant compared to the 1950’s and 1960’s and 1970’s when Moore worked on what became Forth, according to the article. Yeah, mostly before I was born :) I tinker with Arduino on microcontrollers and, so far, I’ve always uploaded new firmware over USB when I needed to add something new. After starting to use a WiFi-enabled device in a remote location, I can see the benefit of the libraries that allow you to upload new firmware remotely (“over the air updates”). It would allow me to define new commands pretty easily after adding a command line, which I haven’t needed yet. To want to define new commands on the fly, though, I think there would need to be a reason why you can’t just send another firmware update with the new commands, such as a lack of network bandwidth? I’m not saying aren’t situations where a Forth interpreter makes sense, but it seems pretty niche, even for embedded systems?