Lua's simplicity is a liability for someone new to programming. The tiny standard library means you need to write by hand a lot of things you could just use in another language. Arguably good for learning fundamentals, but in practice just a good way to kill momentum and smother that learning spark that is the best resource of a novice.
Similarly the best way for a learner to stay motivated is to make something they are personally invested in, which usually involves integrating with something. With lua you need to get your hands into the toolchain and distribution stuff very early to do that, which has nothing to do with programming per se and is frustrating and disorienting for a newcomer.
I've taught people to code from scratch and lua is a worse-than-average language for it. It's a small language but that doesn't help a total novice very much. It's the core concepts of programming that is difficult for them, not memorizing language features. The only situation where I would use it is if they have a specific motivating goal that uses it, usually yes roblox.
Similarly the best way for a learner to stay motivated is to make something they are personally invested in, which usually involves integrating with something. With lua you need to get your hands into the toolchain and distribution stuff very early to do that, which has nothing to do with programming per se and is frustrating and disorienting for a newcomer.
I've taught people to code from scratch and lua is a worse-than-average language for it. It's a small language but that doesn't help a total novice very much. It's the core concepts of programming that is difficult for them, not memorizing language features. The only situation where I would use it is if they have a specific motivating goal that uses it, usually yes roblox.