3 ms·
It's a good option for embedded, especially low resource embedded, applications. Provides a nicer set of abstractions than assembler and let's you create basic
by kjs3 7y ago
It's a good option for embedded, especially low resource embedded, applications. Provides a nicer set of abstractions than assembler and let's you create basically a tuned DSL for your problem. That said, development doesn't scale particularly well, multi-member dev teams are hard, and maintenance of someone else's code can be, shall we say, challenging.
I always wondered how Sun and Apple addressed this, as they used forth in the form of OpenBootPROM as a boot environment on various platforms. Very, very nice.
- AdieuToLogic 7y agoI always wondered how they scaled their firmware teams myself. Really impressive stuff though: https://www.openfirmware.org/Open_Firmware https://www.openfirmware.org/Open_Firmware https://www.openfirmware.org/Forth/FCode https://www.openfirmware.org/Forth/FCode
- kjs3 7y agoAnother interesting example for those looking for a Forth rabbit hole is the Cannon Cat (http://www.canoncat.org/ http://www.canoncat.org/) from Jef Raskin's (of Mac fame) team. On the (much) lower end was the Jupiter Ace (https://jupiter-ace.com/jupiterace/ https://jupiter-ace.com/jupiterace/). The Ace is a fun what-might-have-been where Forth beat BASIC for the '80s PC soul. There were commercial Forths for other PCs of the time (Apple II, Atari 800, TI99), but I guess because they were extra cost, they didn't become that popular.