Any language you can pick is considered one of the worst programming languages by at least a small pitchfork-wielding mob of programmers. Like Bjarne Stroustrup said, there are two kinds of languages - the ones people complain about, and the ones no one uses.
Getting worked up about defending the honor of programming languages is a waste of time. People either have technical reasons to choose one language over another within a specific use case, which is valid, or else their opinions are based on aesthetics or memes, which you can't really argue against effectively. Just accept that sometimes people won't like the things you like, for reasons you can't accept.
Also if you want to use arrays and structs in Lua, and you're fine being stuck with 5.1, you can always just use LuaJIT and have actual C structs and arrays. Best of both worlds, in my opinion.