Was ist Lua

Lua ist eine besonders einfache und schnell zu erlernende Scriptsprache. Im Unterschied zu den "normalen" Programmiersprachen muss Lua als Scriptsprache nicht "kompiliert" werden, also nach dem Programmieren muss der Code nicht in Maschinencode umgewandelt werden. Stattdessen wird der Lua-Code interpretiert, nämlich von einem Lua-Interpreter. Dieser Lua-Interpreter, oder auch Lua-Wrapper genannt, kann als eigenständiges Programm vorliegen, aber auch als Teil einer großen Anwendung. Der Lua-Interpreter liest den Lua-Code und arbeitet ihn dabei Stück für Stück ab.

Zu beachten ist dabei, dass es für alle möglichen Plattformen jede Menge unterschiedliche Lua-Interpreter beziehungsweise Lua-Wrapper gibt. Eines haben alle Lua-Interpreter aber gemeinsam: Sie bestehen mindestens aus dem so genannten Lua Core, also dem Lua Kern. Dabei handelt es sich sozusagen um das Fundament von Lua, dass ständig von vielen verschiedenen Leuten weiterentwickelt wird und auf http://www.lua.org zum Download bereitsteht. Dieser Kern beinhaltet, bildhaft ausgedrückt, den Motor, um Lua-scripte lesen und interpretieren zu können, sowie sämtliche Festlegungen was die Syntax, also die Form der Notation eines Lua-Scripts betrifft.

Was genau ist denn mit "Syntax" gemeint? Nun, nehmen wir einmal an, dass jeder Mensch auf diesem Planeten die Bedeutung für das Wort "Haus" anders ausspricht. Zum Beispiel sagt ein Mensch statt "Haus" "jugli". Ein anderer Mensch wiederum sagt "iluto". Und wiederum ein Anderer sagt "zutila". Das führt unter den Dreien zu enormen Kommunikationsproblemen, keiner versteht, was der andere sagen will, auch wenn es nur um das Wort Haus geht. Also sollten sich die Drei auf ein einziges Wort einigen, um sich verständigen zu können. Dasselbe gilt natürlich für Grammatik und Satzbau. Ein Computer, der um einiges primitiver ist als der Mensch und auch über keine dynamische Wissenserweiterung wie der Mensch verfügt, kann also nicht mit belanglosen Wörtern gefüttert werden. Stattdessen muss festgelegt werden, welches Wort welche Aktion hervorruft, und wie man den Code insgesamt notiert (das entspricht der Grammatik und dem Satzbau). Darunter versteht man die Syntax einer Programmiersprache.

Desweiteren enthält der Lua-Core ein ganze Menge an Standardbefehlen. Dadurch wird ebenfalls eine gewisse Einheit garantiert, denn jeder Lua-Interpreter besitzt dieses Fundament und dementsprechend dieselben Grundfunktionen. Vor allem aber besitzt Lua dadurch eine einheitliche Syntax. Unabhängig vom Lua-Interpreter werden Variablen, Funktionen und Operationen immer gleich notiert und behandelt.

Weshalb aber gibt es dann mehrere verschiedene Lua-Interpreter? Der Grund dafür ist genauso banal wie genial: Lua ist erweiterbar durch eigene Funktionen. So stellen alle Lua-Interpreter zwar die selben Kernfunktionen bereit, aber jeder Lua-Interpreter kann über zusätzliche individuelle Funktionen verfügen.

Daher ist es naheliegend, dass bei der Vermittlung der "Lua Basics" nur explizit auf den Lua Core und seine Funktionen eingegangen wird, vor allem aber auf die Syntax von Lua. Die Beispielcodes sind deshalb auch so konzipiert, dass jeder Lua-Interpreter damit arbeiten kann und sie den Rahmen der Lua-Core-Möglichkeiten nicht sprengen.

Categories

Tags