3 Stimmen

ActionScript - In welche Programmiersprachenkategorie fällt es?

Ist ActionScript eine Skriptsprache oder ist es eher eine objektorientierte Programmiersprache wie Java? Ein schneller Check auf Wikipedia listet es unter Skriptsprachen...

2voto

Metal Punkte 883

Was unterscheidet Java von AS3?

Nicht viel. Beide generieren Bytecode, der übergeben wird und dann auf der ZiPlattform durch einen JIT in Maschinencode kompiliert wird.

Während AS3 im Allgemeinen als zur EcmaScript-Familie gehörend beschrieben wird, hat es 2 koexistierende Objektmodelle unter der Haube. Eins ist der traditionelle prototypische Ansatz, während das andere ein viel mehr java-ähnlicher Ansatz ist, mit Paketen, Klassen und Schnittstellen, Vererbung, abstrakten und finalen Methoden usw.

Ebenso kann AS3 ohne jegliche explizite Typisierung verwendet werden (ähnlich wie Javascript), oder es kann mit starker Typisierung wie Java verwendet werden. Im Gegensatz zu AS2 wird jegliche Typinformation in den kompilierten Bytecodes codiert und zur Laufzeit überprüft.

Beachten Sie, dass die Standardcompiler-Einstellungen die Entwickler dazu ermutigen, sich dem java-ähnlichen Geschmack zuzuwenden, aber nichts, was nicht mit ein paar Optionen behoben werden könnte.

Im Wesentlichen entwickelte sich ActionScript von einer Spielzeug-Sprache (Siehe Flash 4 und früher) zu einer javascript-ähnlichen Sprache (Flash 5 und 6), zu einer ECMAscript-Sprache, die vorgibt, etwas anderes zu sein (Flash 7 und 8), zu etwas, das jetzt mehr gemeinsam hat mit Java und C# als mit seinen eigenen älteren Inkarnationen (Flash 9 und 10)


Um kurz zur ursprünglichen Frage zurückzukehren, kann ich an zwei Sprachmerkmale denken, die fast jede Skriptsprache hat, die AS3 fehlt:

  1. Die Fähigkeit, ein Skript direkt aus der Quelle auszuführen. AS3 erfordert einen expliziten Kompilationsschritt.
  2. Die Fähigkeit, einen String zur Laufzeit als Codefragment auszuwerten. Suchen Sie nicht nach einer "eval"-Anweisung in AS3, sie existiert einfach nicht.

1voto

lynn Punkte 2798

AS 3.0 kann als OO geschrieben werden. Frühere Versionen sind eher wie JavaScript und prozedural.

1voto

Jemand hat mir ActionScript als eine ereignisorientierte Programmiersprache beschrieben. AS3 ist eine Skriptsprache mit OO-Funktionen.

1voto

danio Punkte 8241

Ohne zu definieren, was Sie mit Skriptsprache meinen, kann niemand diese Frage beantworten.

Wie Larry Wall es so gut formuliert in Programming is Hard, Let's Go Scripting... : "Ich denke, für die meisten Leute ist Skripten so etwas wie Obszönität. Ich kann es nicht definieren, aber ich werde es erkennen, wenn ich es sehe." und "Aber grundsätzlich ist Skripten kein technischer Begriff. Wenn wir etwas eine Skriptsprache nennen, treffen wir in erster Linie ein sprachliches und kulturelles Urteil, kein technisches Urteil."

0voto

kemiller2002 Punkte 110605

Ich denke, es könnte davon abhängen, welche Version du fragst. Ich bin kein ActionScript-Experte, aber es sieht so aus, als ob die Designer versuchen, es zu einer objektorientierten Sprache zu machen. Ich denke, mit Version 3.0 haben sie den Sprung (zumindest teilweise) zu einer objektorientierten Sprache erfolgreich vollzogen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X