Lua - Overview


Lua is extensible light weight programming language written in C. It started as an in-house project in 1993 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes.

It was designed from the beginning to be a software that can integrated with code written in C and other conventional languages. This integration brings many benefits. It does not try to do what C can already do but aims at offering what C is not good for: a good distance from the hardware, dynamic structures, no redundancies, ease of testing and debugging. For this, Lua has a safe environment, automatic memory management, and good facilities for handling strings and other kinds of data with dynamic size.


Lua provides a set of unique features that makes it distinct from other languages. These include:

  • Extensible
  • Simple
  • Efficient
  • Portable
  • Free and open

Example Code

print("Hello World!")

How Lua is implemented

Lua consists of to parts the Lua interpreter part and the functioning software system. The functioning software system which 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 highend network servers to small devices.

Both Lua's language and its interpreter are mature, small, and fast.It has evolved from the other programming languages and top software standards. Being small in size makes it possible for it to run on small devices with low memory.

Learning Lua

The most important thing to do when learning Lua is to focus on concepts and not get lost in language technical details.

The purpose of learning a programming language is to become a better programmer; that is, to become more effective at designing and implementing new systems and at maintaining old ones.

Some Uses of Lua

  • Game Programming

  • Scripting in Standalone Applications

  • Scripting in Web

  • Extensions and addons for databases like MySQL Proxy and MySQL WorkBench

  • Security systems like Intrusion Detection System