Lua: de lichtgewicht scripttaal die overal draait
Lua is een snelle, inbedbare scripttaal die wordt gebruikt in game-engines, webservers, databases en teksteditors — van het LOVE-gameframework en Roblox tot Redis, Nginx via OpenResty en Neovim. De minimale kern en schone C-API maken Lua de standaardkeuze wanneer je een scriptbare runtime nodig hebt zonder de overhead van een volledige taalstack. Dit leertraject behandelt Lua vanaf de basis tot en met inbedding in productieomgevingen en prestatieoptimalisatie, verspreid over 40 gestructureerde cursussen.
Wat je leert
Je begint met variabelen, typen, operatoren en besturingsstromen en gaat daarna aan de slag met de functie die Lua onderscheidend maakt: tabellen als universele gegevensstructuur voor arrays, woordenboeken en objecten. Vervolgens behandel je de standaardbibliotheek voor tekenreeksen, patroonherkenning, bestandsinvoer en -uitvoer en datums. Onderwerpen op gemiddeld niveau zijn metatables en metamethods, objectgeoriënteerde en functionele programmeerpatronen, coroutines, closures, modules en JSON-codering. Toegepaste leertrajecten behandelen Lua-scripting voor gamelogica, unit-tests met busted, scripting voor Redis en het bouwen van een pluginarchitectuur. Geavanceerde cursussen gaan in op geheugenbeheer met zwakke tabellen, Lua inbedden in C-applicaties, prestatieoptimalisatie met LuaJIT, FFI voor het aanroepen van C-bibliotheken, integratie met OpenResty/Nginx, sandboxing, het bouwen van DSL's, netwerken met LuaSocket en het schrijven van Neovim-plugins.
Het leerpad
Veertig cursussen lopen van A1 tot en met C1. De cursussen op A1- en A2-niveau leggen de basis voor de taal: syntaxis, functies, tabellen, reeksen en eenvoudige invoer en uitvoer. De B1-cursussen bouwen het Lua-specifieke denkmodel op: metatables, coroutines, OOP-patronen, overerving, functioneel programmeren en de standaardbibliotheken. De B2-cursussen passen die kennis toe in realistische contexten: Lua-scripting voor gamelogica, Asynchrone patronen op basis van coroutines, Lua voor Redis-scripting en Gameontwikkeling met Lua en LOVE. Het afsluitende C1-niveau behandelt onderwerpen voor experts: Lua inbedden in C-applicaties, LuaJIT en prestatieoptimalisatie, FFI: C-bibliotheken aanroepen vanuit Lua, Lua in Nginx (OpenResty) en Neovim-plugins schrijven met Lua.
Zo werkt het
Elke cursus is verdeeld in korte, praktische lessen die je in de ingebouwde code-editor maakt, met realtimefeedback. Als je vastloopt, kun je altijd een AI-tutor inschakelen. Het leertraject werkt in je eigen tempo: zo ga je snel door onderwerpen die je al kent en neem je meer tijd voor onderdelen — zoals metatables of coroutines — die zorgvuldige aandacht verdienen.