Original URL: http://www.theregister.co.uk/2011/09/14/google_project_kill_javascript/

Google plan to kill Javascript with Dart, fight off Apple

Leaked email speaks of battle to save the web from iOS

By Gavin Clarke

Posted in Developer, 14th September 2011 09:29 GMT

Google has apparently invented its Dart web programming language as a replacement for Javascript.

Dart, revealed last week, has been conceived as a way to overcome what Google has determined are "fundamental flaws" in Javascript, according to what purports to be a leaked internal company email from November 2010.

These flaws are inhibiting development of the kinds of complex web apps Google specialises in, says the email, purported to have been written by Googler Mark S Miller and available on Github.

According to the email's author, Javascript has become a "confusing labyrinth" of Javascript frameworks and design patterns used by developers that are hobbling Google's complex, web-scale apps. There are at least 20 different frameworks for Javascript, with different features and capabilities.

The email continues: "The goal of the Dash effort is ultimately to replace JavaScript as the lingua franca of web development on the open web platform."

It's unclear whether the email is genuine and Google had not responded to a request for comment at the time of publication.

But a blog here says Dash was the old name of Dart. Further, listed among the email's supposed contributors is Lars Bak, the engineer credited with driving Dart, who will talk about Dart at next month's Goto conference in Denmark. Bak is also the Google virtual machine engineering brain behind the V8 Javascript engine in its Chrome browser.

At least one of the people also named in the email has, however, called the document a "draft" adding it doesn't necessarily reflect his personal views.

Chrome Frame developer Alex Russell, a member of the ECMA International standard committee – named in the email as helping push a mission codenamed "Harmony" to help develop Javascript – has said about the email: "[It w]as a draft and doesn't reflect either the reality of what has happened in the meantime or even the decisions that were taken as a result. And it certainly doesn't reflect my personal views."

Both Russell – and the email itself – stress that Google is not trying to kill Javascript by coming up with Dart/Dash, even though that's what the email clearly says is the long-term goal.

According to the leaked email, Google is likely to increase investment in Javascript, with plans to participate in the ECMAscript standards process and continue building Javascript support into Chrome. According to Russell: "Google is absolutely committed to making JavaScript better, and we're pushing hard to make it happen."

Details on Dart on the Goto conference site were brief and Google has not officially said anything. Goto called Dart: "A new programming language for structured web programming."

According to the email, though, Dash has been designed to hit three objectives: improved performance, developer usability and what Google is calling the "ability to be tooled".

Translated that last bit means an ability to be used with tools for coding activities such as refactoring used in large-scale programming projects.

Google has undertaken to sell Dash to web developers and other browser makers – whom Bak has apparently promised to "sweet talk" – and to actively push for Dash/Dart's adoption, as with Javascript, as a standard.

It won't be an easy job, as the leaked email concedes: "This will be a difficult effort requiring finesse and determination, but we are committed to doing everything possible to help it succeed."

In recognition of this fact, Google will continue to support Javascript in public through its Harmony strategy. That will see Google develop Javascript working with the TC39 in the ECMA International standards body, through the efforts of representatives including Russell and others. ECMA International's ECMAScript is a scripting language and a standard upon which Javascript is based.

Driving Dash/Dart is Google's fear of Apple and the rise of the closed web and what that could mean to Google as a programming platform for accessing the web. Google is apparently concerned innovation is moving off the web as we and Tim Berners-Lee know it, and on to the popular but fenced-off iPhone and iPad. That poses a huge problem for Google when you've built a search and ads empire on a web without fences.

According to the email:

The web has succeeded historically to some extent in spite of the web platform, based primarily on the strength of its reach. The emergence of compelling alternative platforms like iOS has meant that the web platform must compete on its merits, not just its reach. Javascript as it exists today will likely not be a viable solution long-term. Something must change.

The language has been designed to be consumed in the browser VM, on the front-end server and different compilers. Google has folded the team behind its JSPrime successor to GWT into the effort building the new language, while Joy will be built in to provide templating and model-view controller (MVC) features for code development. ®