3 ms·
Forth is special. It's lower-level than C, in that you have more control over every aspect of the system; but you can refactor mercilessly and change the parse
by rabidrat 7y ago
Forth is special. It's lower-level than C, in that you have more control over every aspect of the system; but you can refactor mercilessly and change the parser with a few lines of code, so you can develop your own DSL for the particular domain of problems you're solving.
The best way to achieve maximum flexibility and efficiency is to have the freedom to hop layers. To specify the high-level logic with a suitably abstract description, and then be able to reach into the lowest layers so that you can do what's necessary without needing to contort the logic to conform to the middle layers. If you do this once, it's a hack; if you hack repeatedly, you have a hot mess of entangled spaghetti; but if you design with this hackability in mind, you can evolve a system with abstractions at just the right level, that can be hacked as needed, without it turning into spaghetti. Requires discipline though.