-
Dart ist keine gute Programmiersprache
Autor: Hello_World 11.07.14 - 11:12
Der Kern fast jeder Programmiersprache ist das Typsystem. JavaScript versagt hier vollends, nicht nur, weil es dynamisch typisiert ist, sondern auch weil Typen nach Lust und Laune in unvorhersagbarer Weise hin- und herkonvertiert werden.
Das Problem ist: Dart macht es nicht wesentlich besser. Es verfügt zwar über ein „statisches“ Typsystem, aber dieses ist letztlich mehr Schein als sein. Eine Umwandlung von Superklasse zu Subklasse benötigt beispielsweise keinen expliziten Cast; die Operation wird zur Compilezeit einfach akzeptiert und kann zur Laufzeit fehlschlagen. Überhaupt ist der Compiler überaus nachsichtig: jede Art von Typfehler resultiert nur in einer Warnung, nicht in einem Fehler. Fast am schlimmsten aber sind die Generics, welche prinzipiell als kovariant angesehen werden, ganz egal, ob es Sinn ergibt oder nicht. Natürlich kommt dann Grütze heraus, wenn man eine kontravariante Operation durchführt, z. B. ein Element zu einer Liste hinzufügt. Die Typsicherheit ist spätestens an dieser Stelle komplett ad absurdum geführt.
Gibt es brauchbare Alternativen? Glücklicherweise ja. Um nur mal zwei zu nennen:
http://www.purescript.org/
http://ocsigen.org/js_of_ocaml/



