Lua to potężny, szybki, lekki, osadzalny język skryptowy. Jest dynamicznie wpisywany, działa poprzez interpretację kodu bajtowego i ma automatyczne czyszczenie pamięci. Jego szybkość jest jednym z głównych powodów, dla których jest szeroko stosowany przez społeczność uczenia maszynowego. Jest często określany jako „rozszerzalny język rozszerzeń”.