11 Stimmen

Würden Javascript und ähnliche Skriptsprachen davon profitieren, stark typisiert zu sein?

Ich hatte heute einfach den Kopf voll. Ich verbrachte einige Zeit im IE-Debug-Modus, das Surfen im Web wie üblich, und oh Junge, ich sehe viele Fehler :) Die meisten dieser Fehler sind, weil einige Werte von einem anderen Typ als erwartet sind (zumindest soweit ich die Fehlermeldungen interpretiere).

Was sind die Gründe dafür, dass JavaScript und ähnliche Skriptsprachen nicht stark typisiert sind? Geht es nur darum, die Sprachen "einfacher" zu verstehen und zugänglicher zu machen, oder ist das Fehlen einer "Kompilierzeit" das eigentliche Problem?

15voto

Sean Clark Hess Punkte 15269

Sie sollte auf jeden Fall eine starke Typisierung aufweisen verfügbar . Actionscript 3 ist stark typisiert, hat aber immer noch Prototypvererbung und einen Platzhaltertyp, wenn Sie dynamische Objekte benötigen.

Es gibt keine Nachteile, wenn diese Funktion zur Verfügung steht, und ich muss sagen, dass bei einem mittelgroßen bis großen Projekt durch die starke Schreibweise eine Menge Probleme vermieden werden. Um das Beste daraus zu machen, brauchen Sie IDE-Unterstützung, damit es Fehler melden und Autovervollständigungsoptionen anbieten kann, aber Javascript wäre in einer ganz neuen Welt, wenn es echte Klassen und starke Typisierung hätte.

2voto

Nosredna Punkte 78203

Sie gewinnt an Flexibilität, da sie nicht getippt wird. Mir persönlich gefallen die schwach typisierten Sprachen.

Die Antwort lautet also, dass es Vor- und Nachteile gibt.

Für Leute, die eine stark typisierte Sprache im Browser wollen, sind GWT und Script# verfügbar.

2voto

none Punkte 5653

Würden Javascript und ähnliche Skriptsprachen davon profitieren, stark typisiert zu sein?

Ja, das würden sie, JavaScript 2.0 führt eine Typensystem :

T JavaScript 2.0 unterstützt den Begriff des Typs, den man sich als Untermenge aller möglichen möglichen Werte. Es gibt einige eingebaute Typen wie Object, Number, und String; jede benutzerdefinierte Klasse (Abschnitt 6) ist ebenfalls ein Typ.

Siehe auch: http://timkadlec.com/2008/04/an-objective-look-at-javascript-2-0-strong-typing/

Im Allgemeinen bietet die Unterstützung für starke Typisierung viele interessante Möglichkeiten für die Kompilierung und Optimierung.

1voto

cwap Punkte 10738

Meine eigene Meinung: Man könnte Skripte analysieren, bevor sie ausgeführt werden. Das würde die meisten Typ-Fehler abfangen und bedeuten, dass der Benutzer kein teilweise ausgeführtes und dann beendetes Skriptergebnis sehen muss. Noch besser, es wäre viel einfacher, das Ding zu debuggen, wenn es einen Parser hätte :)

1voto

Rahul Malik Punkte 201

Ich mag die schwach typisierten Aspekte der meisten Skriptsprachen zum größten Teil. Der einzige Grund, warum ich stark typisierte Sprachen haben möchte, ist neben der Leistung, dass es für Tools einfacher ist, stark typisierte Sprachen zu refaktorisieren als schwache.

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