Can I know why there is no such operators as ++ or += (or similarly others like string concatenation) in Lua?
I think the best argument for not including compound assignments in Lua is that they're an awkward companion for multi-value returns. Specifically, we need sensible rules governing how the compiler should handle the following:
x,y+=2
x,y+=2,3
x,y+=calc_v()
I've played around with a couple different semantics -- and all of them feel like kludgy additions to an otherwise very elegant language.