lua is a procedural and imperative language, like C. the way of thinking is exactly the same. of course the way of creating the code is diferent. but if you study the algorithmit behind it its pretty easy to port from C to any other procedural and imperative language.
it’s not like OOP languages like Java, that the approach of the problem is different. or like Prolog which is a declarative language.