3 ms·
I took this book on a long (for me) trip to Minnesota the year that it came out. It was a great read, trying to work out all the details with my eyes closed be
by ted_dunning 4y ago
I took this book on a long (for me) trip to Minnesota the year that it came out.
It was a great read, trying to work out all the details with my eyes closed because back then computers didn't come on vacations with you. When I got back, I had a whole system to play with worked out in my head.
Forth was ultimately kind of a dead end, but it was a hugely educational one and it led me to bootstrapped versions of Lisp and many other wondrous things.
- Karrot_Kream 4y agoI've always been a bit sad that more Forth-inspired DSLs never became a thing. Assembler Forths and C Forths often feel like DSLs on top of their host languages/environments, so doing the same thing as a network or build-system DSL would be interesting. I do recommend folks play around with more mature, big Forths like gForth to see what building an application up in a Forth like system actually feels like.
- lebuffon 4y agoCommercial systems are also now available for free for trial or non-commerical use, that offer native code compilers and IDEs and Graphic interface tools. VFX Forth from MPE UK SwiftForth from USA
- mcbits 4y agoHow about Forth as a compilation target for other languages. But you can dig in and define words for common patterns and the higher level code will be compiled down to that custom vocabulary instead.
- golem14 4y agoForth is just not very easily optimized - it has a lot of indirect jumps that do not play well with today's instruction pipelines. There are a few optimizing forth compilers, but I never have seen compelling evidence that they would be faster than an optimized c compiler. Forth also has seen comparatively little work lately - only a small number of people use it (for better or worse). Micropython might be eating Forth's lunch on many embedded systems that have a lot more memory/ resources now. As a counterpoint, I found https://www.1-9-9-1.com/ https://www.1-9-9-1.com/ which looks like a lot of fun.