Web Languages and VMs – Dart and JavaScript

Google I/O 2013 – Web Languages and VMs: Fast Code is Always in Fashion

Just completed the above Google I/O 2013 session video. It nicely covers the history of V8 optimization with technical description of JavaScript VM implementations (garbage collection, etc), though it’s a kind of prelude to the last part of the Dart topics.

As indicated in this video, JavaScript performance were impressively improved (100x times faster during 2006->2013 time-frame). Then, the Dart is aiming to push the performance further with its simplified grammar. The following official page provides the latest performance graph.

http://www.dartlang.org/performance/

Native dart code (Dart VM) is 2x faster than JavaScript on V8, though “dart2js” code is yet slower than the native JavaScript at the moment. But the graph is progressing well faster than V8. Considering the expanding performance needs for web apps, providing a new language and VM would be an interesting approach.

Aside from the performance, language itself is interesting too. After working on JavaScripts recently, I’m getting to understand some difficulties that JavaScript imposes. At the moment, first alternative would be CoffeeScript, but the grammar doesn’t feel right for me, yet (mostly a little too simplified grammar and python essence part). Therefore, I’m looking around Dart and other related languages. Dart seems more easier to write, due to the grammatical closeness to statically typed languages, like Java. Java may not be the ideal language, but it’s “easier” to write for normal programmers, compared with JavaScript which requires relatively high-skill to write decent code. JavaScript is a little too powerful to control.

Then, one concern for Dart would be that there seems no specific progress on Dart VM on other browsers. Even though it’s open sourced, other browser vendors may not have strong reasons to support Google-controlled language at the moment. Also, as per the Q&A, there seems no translation support from JavaScript to Dart yet. CoffeeScript has “js2coffee”, and there was a news like [Dropbox Rewrote Its Entire Browser-Side Codebase In 1 Week] that indicates it’s getting accepted. Considering the situation that JavaScript ecosystem has already been hugely developed, interoperability with existing libraries would be an important factor.

As mentioned (joked) in this session, programmers have strong opinion in the programming language. Also, normal engineers requires certain efforts to learn new language (I’m pretty much taking time to learn basics of JavaScript). I would like to a little more keep watching that how the ecosystem will be setting up around Dart, as Google seems committed to it along with Blink and Chromium.

Advertisements

Posted on May 21, 2013, in JavaScript, Web. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: