Lua is an extensible, simple, efficient, portable, free and open programming language written in C by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes.
Since 1993 it was designed to be integrated inside the C language, to improve things where the C language was not able such as a dynamic structure, no redundancies, easy for testing and debugging.
Lua consists of two parts - the Lua interpreter part and the functioning software system. The functioning software system is an actual computer application that can interpret programs written in the Lua programming language. The Lua interpreter is written in ANSI C, hence it is highly portable and can run on a vast spectrum of devices from high-end network servers to small devices. Both Lua's language and its interpreter are mature, small, and fast. It has evolved from other programming languages and top software standards. Being small in size makes it possible for it to run on small devices with low memory.
Its purpose can cover some of the major sectors like:
- Game Programming, you can use it through some 2D game engines like CoronaSDK, Defold, LÖVE2D, Gideros, Raylib and 3D game engines like Spring RTS, GameGuru, Shiva, Leadwerks, Lumberyard, Roblox Studio, Urho3D, Stingray;
- Scripting in stand-alone applications;
- Scripting in web using frameworks like Lapis, Sailor, Orbit, WSAPI, Xavante, Sputnik,CGILua;
- Extensions and add-ons for databases like MySQL Proxy and MySQL WorkBench;
- Security systems like Intrusion Detection System.