2010-05-13 9 views
10

Nehmen wir an, ein Tester soll etwas programmieren, um automatisierte Tests zu erstellen ... Ist Lua wirklich einfach für jemanden zu lernen, der kein Entwickler ist?Ist Lua eine Sprache, die ein Nicht-Entwickler schnell lernen kann?

+1

Es gibt Konzepte, die in Programmiersprachen allgegenwärtig sind, die ebenso wie in Lua auch in anderen Sprachen vorkommen werden. Es gibt nichts leichtere Sprache. Ich würde zum Testen lieber domänenspezifische Sprachen bevorzugen - wie z. Selenese, Fitnesse usw. –

Antwort

7

Es hängt von dem jeweiligen Nicht-Entwickler in Frage. Manche Leute werden jede Programmiersprache völlig blockieren. Einige werden leicht viele Sprachen und grundlegende Programmierkonzepte lernen. Es gibt keine Wunderwaffe dafür, jemandem die Macht des Programmierens zu geben, der auf ihm ungeprüft ist.

Das heißt, mein persönliches Gefühl ist, dass Lua ein guter Anfang ist wie jede andere Programmiersprache.

0

Es ist wahrscheinlich becausee seine sehr ähnlich Python:

Die Zahl der Universitäten mit Python dort Einführungs Comp Sci Kurse ist wahrscheinlich die höchste aller Sprache (empirisch durch Google). Zweitens wahrscheinlich Java und Scheme.

Die Anzahl der Python-Bibliotheken ist astronomisch. Und die Anzahl der Personen, die die Sprache beherrschen, ist ziemlich hoch. Wenn Sie also eine neue Person einstellen, besteht eine gute Chance, dass Sie die Sprache schon einmal gesehen haben.

Ironischerweise bin ich gewachsen, um die Sprache nicht zu mögen, also sage ich das nicht, weil ich Python Fan Boy bin.

+0

Ich habe es nie gemocht, wenn jemand sagt, dass es eine bessere Frage als die, die ich fragte, gibt. Ich habe mich entschieden, die Frage zu stellen, die ich gemacht habe und nicht die, die Sie vorschlagen. Dies ist ein negatives Posting und bekam eine -1 von mir. –

+0

Ja, ich habe es wahrscheinlich verdient. Ich wünschte, ich könnte die Antwort alle zusammen zurückziehen. –

+0

Ich gab Ihnen Ihren Punkt zurück für die Aktualisierung der Post. –

7

Die Lua-Sprache hat eine aktive und in der Regel Anfängerfreundliche community. Es hat eine lange Geschichte der Verwendung an der Grenze zwischen Nicht-Programmierern und Programmierern. Die language reference manual und standard text book gehören zu den besten schriftlichen Beispielen, die ich in meiner Karriere gesehen habe. Der vollständige Text des Referenzhandbuchs ist online, und die erste Ausgabe von Programming in Lua ist ebenfalls, obwohl die zweite Ausgabe von PiL die Unterschiede in der Sprache widerspiegelt, die nach der Veröffentlichung von PiL passiert ist und die Investition zu einem Kauf wert ist.

Eine der Stärken von Lua ist die Leichtigkeit, mit der es in ein bestehendes System integriert werden kann, um eine Konfigurations- und Skriptschnittstelle zu einer Anwendung zu erstellen. Das macht die Entwicklungskosten relativ gering. Seine geringe Größe macht den Einfluss auf eine Anwendungsversion ebenfalls bemerkenswert gering. Wenn man also ein existierendes System an den Punkt bringt, an dem es genügend Zeit hat, mit Lua zu schreiben, um Lua als Testbasis zu verwenden, wird es wahrscheinlich eine einfache Aufgabe mit wenigen versteckten Hindernissen sein.

2

Lua ist sehr nachsichtig, was viele Leute mit "einfach" verbinden. Sie müssen keine Semikolons eingeben, Sie müssen keine Scoping-Variablen haben, Sie können alle Ihre Funktionen im globalen Gültigkeitsbereich schreiben. Natürlich machen diese Dinge dein Leben beim Schreiben einfacher. Beim Debuggen kann selbst ein neuer Programmierer schnell erkennen, warum diese kurzen Schnitte nicht so eine gute Idee sind.

Ich glaube auch, dass Sie sehr einfache, einfach zu bedienende APIs in Lua schreiben können und Sie könnten auch sehr komplexe APIs erstellen, die objektorientierte Konzepte (wie den Unterschied zwischen. Und :) oder funktionale APIs mit Schließungen enthalten können und herumreichen von Funktionen als Funktionsargumente usw. Ob der Benutzer in der Lage ist, die Sprache zur Ausführung der Aufgabe richtig zu benutzen und zu verstehen, hängt weitgehend von der API ab, genauso wie von der Sprache.

3

Ich glaube, Lua ist eine leichter zu erlernende Sprache als viele andere, wie Ruby und Python (und natürlich Perl). Lua's Grammatik und Syntax sind konsistenter als beispielsweise Rubys; In Ruby haben Sie so viele reservierte Schlüsselwörter, sowie alle Arten von Symbolen (geschweifte Klammern für Blöcke und Pipes für lokale Variablen usw.), außerdem gibt es Ihnen zu viele Optionen (Sie können entweder geschweifte Klammern für Blöcke verwenden, oder Sie können verwenden die Schlüsselwörter beginnen und enden Blöcke).

Ich glaube, dass Lua für Nicht-Programmierer viel einfacher ist, besonders aus den oben genannten Gründen. Was die Programmierer anbelangt, habe ich gelesen, dass viele Leute dasselbe sagen und ich stimme zu: Das Programmieren in Lua ist sehr angenehm. Ich glaube, das liegt auch an dem, was ich oben gesagt habe.

1

Solange Sie den Testern die Fehler, die beim Debuggen in LUA auftreten können, klar erklären, sollte es nicht schwieriger sein als das Erlernen der Programmiergrundlagen einer anderen Sprache.

Was mir durch den Kopf geht, ist die Situation, in der der Tester einen Tippfehler machte und einen anderen, aber fast unmerklichen Namen für eine Variable schrieb. Die neue Variable wird mit dem angegebenen Wert erstellt, die alte Variable wird jedoch nicht geändert. Solche Dinge können ziemlich schwer zu debuggen sein, wenn die Leute sich nicht sehr bewusst sind.

+0

Ich stimme zu. Implizit Null Variablen ist definitiv eine Lua Warze. –