Lua-Programmierung: Über Lua

Aus Wikibooks

Wechseln zu: Navigation, Suche

Lua wurde 1993 von der Computer Graphics Technology Group der Päpstlichen Katholischen Universität von Rio de Janeiro in Brasilien entwickelt. Lua ist freie Software, und wurde bis zur Version 4 unter einer eigenen BSD-Lizenz, ab Version 5 unter der MIT-Lizenz veröffentlicht.

Lua ist eine Skriptsprache zum Einbinden in Programme, um diese leichter weiterentwickeln und warten zu können. Eine der besonderen Eigenschaften von Lua ist die geringe Größe des kompilierten Skript-Interpreters.

Lua-Programme werden vor der Ausführung in Bytecode übersetzt, wodurch Lua plattformunabhängig ist. Obwohl man mit Lua auch eigenständige Programme schreiben kann, ist sie vorrangig als Skriptsprache von C-Programmen konzipiert. Für einen C-Kurs verweise ich auf den C-Programmierkurs [1] Insbesondere die geringe Größe von 120 KB und die hohe Geschwindigkeit verglichen mit anderen Skriptsprachen überzeugen viele Entwickler davon, Lua einzusetzen.

Der Lua-Interpreter kann über eine C-Bibliothek angesprochen werden, die auch ein API für die Laufzeitumgebung des Interpreters für Aufrufe vom C-Programm aus beinhaltet. Mittels des API können verschiedene Teile des Programmes in C und Lua geschrieben werden, während Variablen und Funktionen in beiden Richtungen erreichbar bleiben (d. h. eine Funktion in Lua kann eine Funktion in C aufrufen, und umgekehrt).

Es gibt auch einen freien JIT-Compiler für die neueste Version (5.1) von Lua namens LuaJIT.

Lua ist in ANSI-C implementiert und unterstützt imperative und funktionale Programmierung.

Lua kann sowohl zur Erstellung eigenständiger Programme verwendet werden als auch als eingebettete Sprache dienen.

Es erfreut sich besonderer Beliebtheit bei Programmierern von Computerspielen: Um einzelne Komponenten eines Computerspiels, wie z. B. Konfigurationsdateien, von der Spiel-Engine zu trennen, kommt Lua in dieser Branche oft zum Einsatz. Dies macht die meist teuer entwickelte Spiel-Engine flexibler und ermöglicht eine mit geringerem Aufwand verbundene Wiederverwendbarkeit. Daher wird Lua im Bereich proprietärer Spiele beispielsweise in:

   * Heroes of Might and Magic V,
   * Far Cry, Crysis, Crysis Warhead,
   * World of Warcraft,
   * Empire: Total War,
   * Runes of Magic

und vielen weiteren Spielen verwendet. Anwendung findet Lua ebenfalls in Desktopanwendungen, wie etwa Adobe Photoshop Lightroom. Auch das freie Textsatzprogramm TeX integriert Lua als Skriptsprache im neuen Ableger LuaTeX.

Persönliche Werkzeuge