Write low-level stuff in C as necessary, expose it as an abstraction to the Lua VM, write all app logic in Lua.
This really represents a great bridge between two worlds and I've just found it so incredibly productive.
Disclaimer: grey-beard C dev who doesn't need to learn your new-fangled language that 'fixes' everything (npm, lol) because I already did it decades ago with Lua ..
;)
Have you seen idiomatic Rust codebases? Even the macros have macros. It's sheer bliss. "Fheiq kah, puom," as they say.
https://users.rust-lang.org/t/rust-koans/2408/4
And yes, I think it is useful to teach this.
- in the monastry they visit, no two things are equal. I read this as an overapplication of DRY.
- the monks speaks an extremely terse language that is so complicated that even their master have to think for a good while before he can say anything. In the story the master also speaks to the newbie in this language, implying that he either doesn't realize nobody else understands it, or maybe rather that he doesn't care so much about being helpful as he cares about being terse.