Lua

Lua (portugiesisch für Mond) ist eine imperative und erweiterbare 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

Lua-Logo
Basisdaten
Paradigmen: Skriptsprache, imperativ, funktional
Erscheinungsjahr: 1993
Designer: Roberto Ierusalimschy
Entwickler: Roberto Ierusalimschy,
Waldemar Celes,
Luiz Henrique de Figueiredo
Aktuelle Version 5.4.6 (14. Mai 2023)
Typisierung: dynamisch, schwach (weak typing)
Wichtige Implementierungen: Lua, LuaJIT, LLVM-Lua, LuaCLR
Dialekte: Metalua, Idle, GSL Shell
Beeinflusst von: C++, CLU, Modula, Scheme, SNOBOL
Beeinflusste: Falcon, GameMonkey, Io, JavaScript, Julia, MiniD, MoonScript, Red, Ruby, Squirrel
Betriebssystem: plattformunabhängig
Lizenz: MIT-Lizenz
www.lua.org

Lua-Programme sind meist plattformunabhängig und werden vor der Ausführung in Bytecode übersetzt. Obwohl man mit Lua auch eigenständige Programme schreiben kann, ist sie vorrangig als eingebettete Skriptsprache für andere Programme konzipiert. In dieser Hinsicht ist sie mit Tcl vergleichbar. Vorteile von Lua sind die geringe Größe von 120 kB, die Erweiterbarkeit und die hohe Geschwindigkeit, verglichen mit anderen Skriptsprachen.

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 enthält. Mittels des API können verschiedene Teile des Programmes in C (oder 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/C++ aufrufen und umgekehrt).

Es gibt auch einen freien JIT-Compiler namens LuaJIT, der die Revision 5.1 der Sprache unterstützt.

Lua ist in ANSI-C implementiert und unterstützt imperative und funktionale Programmierung. Implementiert man jedoch selbst Objekte mittels Metatables, wird auch objektorientierte Programmierung möglich.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.