Zkusím napsat jeden možná trošku netypický use case: potřebovali jsme udělat framework na psaní určitých typů testů, a to v jazyku, který by snadno zvládli i neprogramátoři. Požadována byla možnost úpravy testů, tvorba nového testu na základě šablony apod.
Nejlépe z toho vyšla právě Lua, stačí si jenom na 2xA4 vytisknout jak celou syntaxi jazyka, tak i základní knihovní moduly a funkce. To - doplněné o modul toho testovacího jádra - bohatě stačí, nic dalšího není zapotřebí studovat.
Navíc je selftest celého toho řešení strašně rychlý: mě na 6 let starém notebooku to proběhne do asi 2 sekund, prostě oproti tomu, co tady mám (podobný projekt) napsaný v Javě je to minimálně 10x rychlejší (samozřejmě tento use case, nelze mluvit obecně!)
Mám ještě jeden use case, takový klasičtější. Lua jako embedovaný skriptovací jazyk ve větší aplikaci. Je to velmi jednoduché, minimálně tedy pro C/C++ projekt, nárůst velikosti binárky je prakticky zanedbatelný a hlavně se dají skripty od sebe izolovat. Každý totiž může běžet ve vlastní session, což mě přijde fajn. Sandbox máš zadarmo, prostě pokud se nějaká nativní funkce nezaregistruje, tak tam není :-)
Co mám zkušenosti, tak nejlépe se embeduje právě Lua a potom dnes již postarší Tcl (a TinyScheme), s CPython je to nepatrně komplikovanější.