Command Palette

Search for a command to run...

position in category
#21

A lightweight embeddable scripting language designed for efficiency and easy integration into host applications. Supports procedural, object-oriented, functional, and data-driven styles with dynamic typing, bytecode execution on a register-based virtual machine, and incremental garbage collection, making it well suited for configuration, scripting, and rapid prototyping.

Lua has been used in production by Adobe Photoshop Lightroom, World of Warcraft, Angry Birds, and the Ginga middleware for digital TV in Brazil. It is widely adopted as the leading scripting language in game development and runs on Unix, Windows, mobile devices, and embedded microprocessors. Maintained at PUC-Rio since 1993, Lua is distributed under the MIT license.

Key features:

  • Embeddable engine with a simple C API for strong integration with C, C++, Java, and other host languages
  • Small footprint, with the full interpreter and standard libraries under 500KB on 64-bit Linux
  • High performance among interpreted scripting languages, with LuaJIT available for JIT-compiled workloads
  • Portable builds with any standard C compiler on most platforms
  • Extensible semantics via meta-mechanisms rather than many built-in language features
  • LuaRocks package manager and community wiki for add-ons and libraries

Lua is commonly used for game scripting, plugin systems, and configuration in engines like Roblox, Love2D, and many commercial games. It is also used for embedded systems, image processing pipelines, network device configuration, and extending large C or C++ applications with user-facing scripting.

GitHub Repositories
1K
-9.4%
Trending down this week
Removed in 104 repos