Lua-Quick-Try-Out Screenshot
Installer Windows XP 32 bitLua-Quick-Try-Out-1.1.1_setup.exe
Installer Windows 7 64 bitLua-Quick-Try-Out-1.1.1_setup.exe
Installer Linux Mint 12 32 bitlua-quick-try-out-1.1.1-i386.deb
Installer Linux Mint 12 64 bitlua-quick-try-out-1.1.1-amd64.deb
Sourcecode (QT Creator project)Lua-Quick-Try-Out-1.1.1.zip

Die Lua IDE zum schnell mal was ausprobieren

Als ich vor vielen vielen Jahren meinen ersten Computer, einen Atarai 800XL, programmiert habe, brauchte man den Computer nur einschalten, kurz warten und konnte dann mit Basic anfangen, Linien zu zeichnen und Text auszugeben. Heutzutage sind die Computer schneller und die Programmierumgebungen viel komplexer. Bevor man ein paar Linien, Diagramme oder Tabellen zeichnen kann, muss man sich eine GUI erstellen.

Es kommt bei mir öfter mal vor, das ich einfach schnell einen Algorithmus ausprobieren möchte, bevor ich diesen in einem Mikrocontroller verwende. Oder ich möchte z.B. eine Formel überprüfen, für die Berechnung von Schnittpunkten und muss dafür eine kleine Vektorgrafik zeichnen. Dabei nervt es mich schon ungemein, wenn ich mich erstmal um eine GUI kümmern muss, anstatt das zu programmieren, was ich eigentlich wollte. Das war die Motivation für diese kleine Lua IDE.

Programmieren mit Lua

Lua ist eine einfach zu lernende, schnelle Skriptsprache mit einer an Pascal angelehnten Syntax, die gerade Anfängern den Einstieg erleichtert. Lua wird bei vielen Computerspielen und Anwendungen eingesetzt, um eigene Abläufe programmieren zu können. Im Internet gibt es viele Tutorials, die sich mit der Einführung in Lua beschäftigen. Viele nützliche Informationen über Lua findet man hier: http://www.lua.org.

Lua-Quick-Try-Out bietet folgende Möglichkeiten:

Bedienung der IDE

Die Bedienung von Lua-Quick-Try-Out ist hoffentlich selbsterklärend. Haltepunkte setzt man, in dem man einen Klick rechts neben die Zeilenummer macht. Wenn der Debugmodus aktiviert wird, erscheint rechts ein Fenster mit den aktuell vorhandenen Variablen. Dieses Fenster kann größer, kleiner oder ganz weg gemacht werden. Die IDE merkt sich die Größe dieses Fenster für Debugmodus an und aus. Der Zoom in den einzelnen Fenstern funktioniert mit dem Mausrad. Bei dem Diagramm kann mit der rechten Maustaste ein Kontextmenü geöffnet werden mit Funktionen zum Abspeichern und Zoomen.

Programmierbeispiele

Diagramme

dia.delete_all()
d = dia.new("Dia1")
c1 = d:new_curve("Curve1")
c1:set_data( { 1, 2, 3, 4 }, { 2, 4, 9, 16 } )
c2 = d:new_curve("Curve2")
c2:set_data( { 1, 2, 3, 4 }, { 1, 1/2, 1/3, 1/4 } )
Screenshot diagram

Tabellen

tab.clear()
tab.set_size(10, 10)
tab.set_row_values(1, { "Head1", "Head2", "Head3" } )
tab.set_value(2, 1, "test1")
tab.set_value(3, 2, 3.14)
tab.set_value(4, 3, 4 * 5)
Screenshot table

Pixelgrafik

gfx.set_size(200, 200)
gfx.clear()
gfx.draw_line(10, 10, 190, 190)
gfx.draw_line(190, 10, 10, 190)
Screenshot gfx

Vektorgrafik

vgfx.clear()
vgfx.draw_line(1, 1, 9, 9)
vgfx.draw_line(9, 1, 1, 9)
Screenshot vgfx

Hinweise

Ich habe bei Lua-Quick-Try-Out bewusst auf eine komplette Projektverwaltung und GUI builder u.ä. verzichtet. Das Ziel war für mich eine IDE zu programmieren, bei der man mit möglichst wenig Lua Sourcecode schnell Ergebnisse sieht. Das bringt natürlich den Nachteil, das Flexibilität verloren geht. Wer komplexe Programme schreiben möchte, sollte besser eine 'große' IDE verwenden. Für größere Projekte würde ich persönlich wegen der statischen Typprüfung und der höheren Geschwindigkeit eine Programmiersprache wie C#, C++ oder Java bevorzugen.

Ich möchte zum Schluß noch auf zwei Sachen Hinweisen. Erstens, falls sich jemand fragt, warum die Binärdateien so groß sind, das liegt daran, das ich diese statisch mit der QT-Bibliothek gelinkt habe. Dadurch gibt es hoffentlich weniger Probleme bei der Installation. Ich hab die Installer extra mit in virtuellen Maschinen neu installierten Betriebssystemen erzeugt, um gleich auszuschließen, das diese mit Vieren, Malware o.ä. verseucht werden. Zweitens, meine zeitlichen Resourcen sind aufgrund von Familie, Beruf und mindestens zehn anderen Hobbyprojekten, die ich schon lange mal fertig basteln wollte, leider sehr stark limitiert, so dass ich eventuell nicht auf E-Mails antworten kann.