---------------------------------------- Picking up forth August 08th, 2020 ---------------------------------------- I'm one of those people that like to pick up a new programming language just to tinker with it for a while. I have no problem learning something for a little bit and setting it down knowing that I may never touch it again. Yes, I don't get the full experience of getting a deep understanding of a language, but that's not really the point of my play. I want to try out a language for a while to understand what it is like to approach it with a beginner's mind: what is the experience of looking up documentation, of parsing error messages, re-writing common programs in my undignified understanding of the new language as a comparison to working in others. It's this "feel" of the language that is important to me. Like text editors, programmers spend so much time with their tools playing with solutions to problems that if a language and its ecosystem don't feel right to me then I'm not likely to pursue it. It's entirely subjective, but so is most things associated with using computers. So I recently read about Forth and using it to drive microcontrollers like Arduinos. I searched for some possible Forth implementations that work on the various Arduinos I own and tried to load them. That was a couple of days ago and still nothing reliable is installed on any of those machines. As a person who loves the Lisp family of languages, I felt a pang of anger that I felt when starting with Lisps as well -- the language is sufficiently powerful, but the language itself struggles from easily being able to get set up and going. So far, I've scraped the microcontroller Forths and have stuck to toying around on "gforth"[1] (GNU Forth) as well as a fun relic of 64Forth[2], which is a cartrige-based Forth specifically for the Commodore 64. The latter comes with its own excellent documentation which includes a mini-tutorial on basic Forth. The former I am using the excellent (and canonical) "Starting Forth"[3] as a guide. I still haven't written anything of consequence, but that's okay. Forth may end up being an interesting experiment and something of a revelation when I'm working in the languages that I use on a more regular basis. ----- [1] https://gforth.org/ [2] https://www.c64-wiki.com/wiki/64_Forth [3] https://www.forth.com/starting-forth/0-starting-forth/