Lua is multi-paradigm programing language that's very lightweight and was designed for embedded use in applications. It's cross-platform because Lua has a simple C API to embed it into applications and its interpreter of compiled bytecode is written in ANSI C.

It was designed for extending software applications to meet the demands for customization at the time. Domain-specific and more complicated features weren't included, but it provided basic of most procedural programming languages and it was built with mechanisms for extending the language.

It supports procedural programming, oop and functional programming, as well as data-driven programming and data description.


  • Portable and super lightweight

    Lua package is really small. You can run Lua code on every platform, Windows, macOS, and Linux.

  • Dynamic datatypes

    The dynamic data type accepts data from and sends data to the following data types, where the scalar data type is a Boolean value or a floating-point number.

  • Extensible

    Extensible programming language consists of a base language with elementary computing facilities and also the meta-language, with a capability of modifying base language.

  • Efficient

    If language works faster, it's more efficient.

  • Suitable for using it as an embedded language

    It means that Lua is written in C, it's the extension to the C language with additional header files.