Google revs Dart, but questions about language's goals remain

Version 1.8 of Google's JavaScript contender adds new libraries and experimental support for enum types

Mike Behnken via Flickr

Google released a revision of its Dart language with minimal fanfare the day after Thanksgiving. Dart 1.8 has new programming and library features, but still conspicuously missing from the language is a sense of where it's meant to fit in and what needs it's meant to address.

The new features in Dart 1.8, as announced on the language's official blog, include additions to Dart's libraries for manipulating collections, handling secure connections, and dealing with error objects. New to the language itself is experimental support for the enum variable type. Enums (essentially, lists of constants) have been a feature of languages as far back as Pascal or C and as recent as Go or Java.

What remains a puzzle is where Dart fits in Google's ecosystem -- or the ecosystem of languages in general. Currently, Dart's main niche is as a JavaScript substitute that allows programmers to write in Dart, then transpile their code to JavaScript. But Dart hasn't made much progress as a client language, in big part because there's little client support. Even Google's own Chrome doesn't support Dart; rather, a special build of Chromium, called Dartium, contains the VM needed to run the language natively.

Dart has managed to make minor inroads with programmers, if only as an intermediate language for writing fast and efficient JavaScript code. In October, Dart cracked the top 20 of the Tiobe Index of programming language popularity. JavaScript currently sits at the No. 8 spot, thanks to the vast ecosystem provided by the client-side JavaScript world and by Node.js.

It's possible Dart could become a server-side technology, along the lines of Node.js. Lucas Perkins of CenturyLink has noted how Dart has advantages over both JavaScript and Java in that realm. Dart, Perkins claimed, has many of the pluses of the former (asynchronous, nonblocking I/O) without its baggage, and the power of Java without its attendant verbosity. Like Node.js, Dart has a stand-alone runtime, and the Dart language team claims its performance outshines JavaScript benchmarks by around a factor of two.

Google, too, seems to be showing more interest in Dart as a server-side language than as a client-side one. Earlier in November, the company announced it was now possible to deploy server-side Dart applications on Google's cloud, by way of Google App Engine's Managed VMs. The feature is currently in beta, but the standard gamut of App Engine features are available, including on-demand scaling.

That said, App Engine's Managed VMs support most other languages as well, including Node.js. Without additional impetus on Google's part, the platform is unlikely to turn into a hothouse for Dart, and instead will remain a place where established languages and frameworks strut their stuff.

Copyright © 2014 IDG Communications, Inc.

How to choose a low-code development platform