Lua Tutorial
# Lua Tutorial

Lua is a lightweight scripting language, written in standard C and open-sourced. Its design purpose is to be embedded into applications to provide flexible extension and customization capabilities.
Lua was developed in 1993 by a research group at the Pontifical Catholic University of Rio de Janeiro in Brazil. The group members were: Roberto Ierusalimschy, Waldemar Celes, and Luiz Henrique de Figueiredo.
* * *
## Design Purpose
Its design purpose is to be embedded into applications to provide flexible extension and customization capabilities.
* * *
## Lua Features
* **Lightweight**: It is written in standard C and open-sourced. After compilation, it is only a little over 100K, making it very easy to embed into other programs.
* **Extensible**: Lua provides very easy-to-use extension interfaces and mechanisms: these functions are provided by the host language (usually C or C++), and Lua can use them as if they were built-in features.
* **Other Features**:
* Supports procedural programming and functional programming;
* Automatic memory management; provides only one generic type, the table, which can be used to implement arrays, hash tables, sets, and objects;
* Built-in pattern matching; closures; functions can also be treated as values; provides support for multithreading (coroutines, not OS-supported threads);
* Through closures and tables, it can easily support key mechanisms needed for object-oriented programming, such as data abstraction, virtual functions, inheritance, and overloading.
* * *
## Lua Application Scenarios
* Game development
* Standalone application scripts
* Web application scripts
* Extensions and database plugins such as: MySQL Proxy and MySQL WorkBench
* Security systems, such as intrusion detection systems
* * *
## First Lua Program
Lua code files have the extension .lua.
Next, we will use Lua to output "Hello World!"
## Example (Lua 5.3)
print("Hello World!")
[Run Example Β»](#)
After running, "Hello, world!" will be displayed on the screen.
YouTip