Although BASIC was most commonly used on home computers like the Commodore VIC-20, it was possible to write programs in other languages, such as Forth. Conveniently, all it took to set up a Forth development system was inserting the cartridge into the VIC-20 and powering it on, with the VIC-FORTH cartridge by [Tom Zimmer] being a popular choice for the Commodore VIC-20. In a recent video, the [My Developer Thoughts] YouTube channel covers Forth development using this cartridge.
In addition to the video tutorial, the original VIC-FORTH Instruction Manual is also available, together with the 1541 disk image. In an upcoming video, the Commodore 64 version of the cartridge will also be covered, which is called 64Forth, and which is also readily available to tinker with. For those interested in learning more about [Tom Zimmer] and his Forth-related work, a 2010 interview could be interesting. This covers the other platforms which he developed an implementation for.
As for why Forth might be interesting to developers and users, this comes mostly down to the much lower overhead of Forth compared to BASIC, while avoiding the pitfalls of ASM and resource-intensive nature of developing in C, as the entire Forth development system (compiler, editor, etc.) comfortably fits in the limited memory of the average 8-bit home computer.
(Thanks to [Stephen Walters] for the tip)
What is the oldest system to run Forth on?
Nowadays an Arduino is the lowest cost option probably as there are so many around.
Have a look and try it out
https://www.amazon.co.uk/eForth-Arduino-Sketch-extra-Programmer/dp/B088P1CW83
http://collapseos.org/
This will run on a number of older cpus. Am hoping to have a go on a Z80 soon.
Join nailing list if you’re interested in Collapse/Dusk OS
Probably the IBM 1130 minicomputer that Charles Moore wrote the original version version of Forth on in 1968.
and how to get started
https://wiki.forth-ev.de/doku.php/projects:430eforth:start
I have the pleasure of working with Doug Sharp, the original author of ChipWits (a game about programming robots) to reboot the game. During development, he found the original Commodore 64 Forth source code and we’re in the process of restoring it. If anyone who knows Forth is interested in helping to get it to build, please contact us!
https://chipwits.com/2023/09/23/update-more-original-code-disks-found/
Forth can run with increadible small memory footbrint. But people say, that often you do not know what a programm does after 2 weeks, even if you have written it yourself…
It is probably the same for any language. Document it as required, comments are always helpful.
Forth is probably more dense – so you have to compensate for this somehow.
You could always start with this implementation of portable Forth, pFotth. https://www.softsynth.com/pforth/. It includes a link to the repo on GitHub. https://github.com/philburk/pforth
Flash FORTH 5 for ATmega and PIC:
https://flashforth.com/index.html
To repeat the old Fourth joke. Fourth love I. Can we all get back into reverse polish notation.
Really? Verbs are last, I assumed the joke would be “I Forth love.”
I learnt Forth on a Timex ZX81. Forgotten most of it but it still intrigues me. Maybe I’ll find a Linux or windows version to to get my grey cells goin’ again. I know there’s a version I can stick on my iPad too…
I remember VIC FORTH by HES on a cartridge. Bought it at Children’s Palace Toy Store. It was the second language I learned followed by assembler for the 6502. Great memories.
From Eckehard Fiedler, above:
“…people say, that often you do not know what a programm[sic] does after 2 weeks, even if you have written it yourself…”
The almost complete inability to read one’s own Forth program after two week, if it were not documented, is very true, and and results in the following extremely valuable characteristic of Forth–
…with no documentation, it is almost impossible (some who have tried would say, “completely” impossible) to reverse-engineer a Forth program from object code.
There are documented instances where Forth has been used as a very effective way to–almost automatically, and immediately–create trade secrets, via the simple expedient of writing the application in a language which most people cannot be bothered to learn because it is too old; not modern enough…
——————————————————-
“Simplicity and elegance are unpopular because they require hard work and discipline to achieve and education to be appreciated.”–Edsger Dijkstra
“Object-oriented programming is an exceptionally bad idea which could only have originated in California.”–Edsger Dijkstra