5 ms·
Starting Forth: An Introduction to the Forth Programming Language
- zabzonk 6y agoOne of my very favourite programming books. Using it, together with "Threaded Interpretive Languages" https://www.amazon.co.uk/Threaded-Interpretive-Languages-R-G-Loeliger/dp/007038360X https://www.amazon.co.uk/Threaded-Interpretive-Languages-R-G... I wrote a couple of Forth implementations in Z80 assembler back in the 1980s, and a Forth-like language for an Adventure writing system I created when I was first learning C++.
- peteri 6y agoI did something similar on the Apple //e running prodos.
- seg_lol 6y agoThere is no reason to pay that crazy money for that book, it is available on libgen. There are so many books in the BYTE magazine back catalog, and who knows who the rights holders are as the UBM is defunct [1]. I talked to some people at CMP a couple years ago, it sounded like, at least from them, that they had almost no archives of BYTE material. What you can get on Ebay and the IA are it fwiw. I have three copies, mostly so when I loan them out and if it doesn't come back I won't be bummed. But they cost only 5-9$ at the time. [1] https://en.wikipedia.org/wiki/UBM_Technology_Group https://en.wikipedia.org/wiki/UBM_Technology_Group
- ampdepolymerase 6y agoThe libgen version is a pdf of scanned images. Anybody has a more modern PDF version?
- seg_lol 6y agoI doubt this would ever exist unless someone transcribed it and relaid it out. It probably never existed in a consumable digital form.
- dwheeler 6y agoThis is still one of the best Language tutorial books ever. The cartoons are both funny and illuminating.
- protomyth 6y agoI think it is so much better because it's not just teaching a language but a philosophy of programming.
- mjw1007 6y agoI think the philosophy of programming stuff is more in "Thinking Forth", whose homepage these days seems to be http://thinking-forth.sourceforge.net/ http://thinking-forth.sourceforge.net/
- protomyth 6y agoThinking Forth cranks it up to 11, but Starting Forth has definite opinions on how you should program.
- protomyth 6y agoI do love Forth for the building a dictionary by solving the small problems building a vocabulary to solve the whole problem. The bottom up building of capability is amazing to get over the feeling of being overwhelmed by the problem.
- zabzonk 6y agoQuite. One of my mantras when teaching people programming is "Programming is all about writing functions, and you can't write too many of them!" and it's really impossible to program in Forth without doing this.
- olah_1 6y agoIs there a modern Forth-like that is usable in all modern domains like android, iOS, web? More importantly, is it pleasant to use?
- ithkuil 6y agoFactor (https://factorcode.org/ https://factorcode.org/) is the closest to a modern pleasant to use forth-like language. Not sure if it ticks the other requirements you mentioned though
- 7thaccount 6y agoYes. There is a commercial language called 8th that is pretty cheap and you can get the source with an NDA and the enterprise license. The enterprise license is cheaper than a desktop license for most software, so pretty reasonable IMO. I've played with it and it is pretty nice and similar to using Python in a way. It has a full REPL, but can compile to single file executables that run on Mac, Windows, Linux, Android, or iOS which is really nice. You can also cross compile to any of those platforms. It has functions for bluetooth, database, GUI, web stuff...etc which isn't common in a lot of Forths. It is probably the most modern of the Forths I've played with and is pleasant to use. It has a small community, but the apps I've seen have been impressive. The creator releases bug fixes and new versions all the time and will sometimes get a fix to a user in just a day or so. It has all of the functionality one would expect in a modern language like a ton of string functions and I/O. I'm not an expert, but didn't think anything was missing when I was playing with it. I would definitely consider it for hobby projects and maybe for some desktop apps if I was a solo contractor. Unusual software like it might be difficult to get in enterprise IT though where someone would have to support your super niche language that is mostly dependent on one individual. There are some other Forths to consider that are meant for desktop/server use like 8th. In particular, RetroForth seems nice and there is Factor, but I found using Factor to be very confusing and not straightforward. I'm not sure how much attention Factor gets either these days since the creator left to work on Swift at Apple a few years ago. I think there are some maintainers.
- olah_1 6y agoThis one? https://8th-dev.com/samples.html https://8th-dev.com/samples.html It looks solid. I’d like to see how the GUI stuff works
- frompdx 6y agoStarting Forth is a great programming book. One of the best I have read. I picked it up last year when I wanted to learn Forth for the purpose of programming ATMega with FlashForth as an alternative to using Arduino IDE or C. Forth really shines when it comes to probing hardware thanks to its interactive nature. However, you are pretty much on your own if you want to do anything beyond basic stuff like making an LED blink. There are some great resources like https://arduino-forth.com/ https://arduino-forth.com/ to help you get started. Just don't expect everything to be magically abstracted away similar to using the Arduino IDE.
- upofadown 6y agoI recently reread Starting Forth simply with the hope of picking up some of the methods used. There is magic in the idea that you can teach someone concepts without hardly any time spent on the details.
- jecel 6y agoHere is a Zoom talk by Leo Brodie where he explains how he came to write his books: https://www.youtube.com/watch?v=--IJEl6HV2k https://www.youtube.com/watch?v=--IJEl6HV2k