Update für "JavaScript-Killer": Google aktualisiert Dart-Specs

Hartmut Schlosser

Die Spezifikationen für Googles Sprache Dart haben ein Update erfahren. Aktuell ist Version 0.08 von Dart, der Sprache für die strukturierte Webentwicklung, die von Manchen als „JavaScript“-Killer gehandelt wird.

Während Dart bereits eine beachtliche Schar an Anhängern um sich versammeln konnte, dürfte die Ansage, JavaScript langfristig abzulösen, etwas übereilt sein – so sieht es zumindest Allen Wirfs-Brock, Research Fellow von Mozilla. Auf der QCon Anfang März 2012 wagte sich Wirfs-Brock mit der Prophezeihung aus dem Fenster, dass uns JavaScript auch die nächsten Dekaden noch als kanonischer Standard begleiten wird:

JavaScript will be the canonical language for the next 20+ years.

Wirfs-Brock sieht zwar die Ambitionen im Dart-Team, einige der aktuellen Probleme bei der Webentwicklung zu lösen. Dafür sei aber keine eigene Sprache nötig: „[Y]ou don’t need to design a new language to address those issues“. Seinen festen Platz habe Dart indes als Sprache, die – wie viele andere auch – nach JavaScript kompiliert.

Wie dem auch sei, die Dart-Liebhaber werden sich den Blick in die Sprachneuerungen nicht vermießen lassen:

  • 5: Static variables are lazily initialized, but need not be constants. Orthogonal notion of constant variable introduced.
  • 7.1.2: Added equals operator as part of revised == treatment.
  • 7.5.1: Initializing formals have the same type as the field they correspond to.
  • 7.7: Static variable getter rules revised to deal with lazy initialization.
  • 10: Modified syntax to support cascaded method invocations.
  • 10.1: Removed support for + operator on Strings. Extended string constants to support certain cases of string interpolation. Revised constants to deal with constant variables
  • 10.5: Corrected definition of HEX_DIGIT_SEQUENCE. Support implicit concatenation of adjacent single line strings.
  • 10.13.2: Centralized and corrected type rules for function invocation.
  • 10.14: Moved rules for checking function/method invocations to 10.1.3.2. Added definition of cascaded method invocations.
  • 10.15, 10.16: Updated noSuchMethod() call for getters and setters to conform to planned API.
  • 10.17: Modified syntax to support cascaded method invocations.
  • 10:20: Revised semantics for ==.
  • 10:28: Removed import, library and source from list of built-in identifiers. Revised rules for evaluating identifiers to deal with lazy static variable initialization.
  • 11.13: Fixed bug that allowed continue labeled on non-loops.
  • 12: Revised syntax so no space is permitted between # and directives. Introduced show: combinator. Describe prefix: as a combinator. Added initial discussion of namespaces. Preclude string interpolation in arguments to directives.

Die Spezifikationen sind genauer in der Release-Ankündigung nachzulesen oder auf der Spec-Seite als PDF oder HTML-Dokument herunterzuladen. Allerdings macht Seth Ladd vom Dart-Team darauf aufmerksam, dass noch nicht alle Features in der Dart VM und im Dart-JavaScript-Kompiler umgesetzt sind. Einige Tage Geduld bitte für alle, die gerne mit dem neuen Dart spielen möchten.

Geschrieben von
Hartmut Schlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: