One thing I liked about Forth that attracted me to C is the use of addresses/pointers as a basic feature. It lets me get closer to the metal.
One thing I really LIKE about Forth is that I don't need to come up with names for any variables except what globals I choose to have. I did a -lot- of coding over a 20 year period and for me, coming up with names for each and every numeric used does make a noticeable drain on creative energy. For some, yes, fine, the names suggest themselves but with Forth the action is through the stack. At command line I can type 1 2 + <cr> and get back 3. When I spec Forth words, I spec what is expected on the stack, the word name, and what is to be left on the stack. It's really very clean and faster than an interpreter has any right to be.
But the BIG thing is that Forth is Object Oriented through builds - does (sometimes creates - does) structures. I learned the basics of OOP using an 8K cartridge on a 5k VIC-20 back in 1983 and it changed my coding life forever.
I have looked at an AVR-Forth suitable for stand-alone. User I/O is through serial terminal.http://amforth.sourceforge.net/
amforth needs approx. 8KB Flash memory, 80 bytes EEPROM and approx 200 bytes RAM for the core system (including the compiler words).
The dictionary is located in the flash memory. The built-in compiler extends it directly.
Your application is a Forth word that you define and in this case that's enough to have it saved to the chip right then. No external IDE or OS and computer needed to extend the dictionary, ie your program.
I saw an Arduino Forth environment in an archive thread but it didn't look to be past alpha stage.
No, I don't think I need to play with AVR assembler.