Dart Summary

What’s all this about? #
On November 10th and 11th of 2010, a number of Google teams representing a variety of viewpoints on client-side languages met to agree on a common vision for the future of JavaScript. The following are a few highlights taken almost word for word from a leaked internal email summarizing the topics discussed at that summit as well as reaction from Brendan Eich and Alex Russell.
How will Google act publically? #
ES-Harmony will continue to be evangelized by Google externally as the evolution of JavaScript.
Ok, but what’s really their plan? #
The goal of the Dart (formerly Dash) effort is ultimately to replace JavaScript as the lingua franca of web development on the open web platform. Google will proactively evangelize Dart with web developers and all other browser vendors and actively push for its standardization and adoption across the board.
How will Google spin this? #
While Dart is catching on with other browsers, Google will promote it as the language for serious web development on the web platform.
What if other browsers don’t follow Google with Dart? #
Google’s own Lars Bak has promised to “sweet talk” the other browser vendors.
What does Brendan Eich think about all this? #
From Brendan’s blog:

Here is something that the Google leak about Dart (née Dash) telegraphs: many Googlers, especially V8 principals, do not like JS and don’t believe it can evolve “in time” (whatever that might mean — and Google of course influences JS’s evolution directly, so they can put a finger on the scale here).

They’re wrong, and I’m glad that at least some of the folks at Google working in TC39 actually believe in JS — specifically its ability to evolve soon enough and well enough to enable both more predictable performance and programming in the large.

There’s a better-is-better bias among Googlers, but the Web is a brutal, shortest-path, Worse-is-Better evolving system.

I’ve spent the last 16 years betting on the Web. Evolving systems can face collapses, die-offs, exigent circumstances. I don’t see JS under imminent threat of death due to such factors, though. Ironic that Google would put a death mark on it.

From Hacker News:

“Even Brendan Eich admitted…”. As if I would not expect, nay demand, that Gilad and Lars would do better -- much better -- than JS!

For the record, I’m not worried about JS being replaced by a better language. I am working to do that within Ecma TC39, by evolving JS aggressively.

The leaked Google doc’s assertion that this is impossible and that a “clean break” is required to make significant improvements is nonsense, a thin rationale for going it alone rather than cooperating fully.

The big issue I have with Dart, which [some] seem to consider inconsequential, is whether Google forks the web developer community, not just its own paid developers, with Dart, and thereby fragments web content.

A Dart to JS compiler will never be “decent” compared to having the Dart VM in the browser. Yet I guarantee you that Apple and Microsoft (and Opera and Mozilla, but the first two are enough) will never embed the Dart VM.

So “Works best in Chrome” and even “Works only in Chrome” are new norms promulgated intentionally by Google. We see more of this fragmentation every day. As a user of Chrome and Firefox (and Safari), I find it painful to experience, never mind the political bad taste.

Ok, counter-arguments. What’s wrong with playing hardball to advance the web, you say? As my blog tries to explain, the standards process requires good social relations and philosophical balance among the participating competitors.

Google’s approach with Dart is thus pretty much all wrong and doomed to leave Dart in excellent yet non-standardized and non-interoperable implementation status. Dart is GBScript to NaCl/Pepper’s ActiveG.

Could Google, unlike Microsoft ten or so years ago, prevail? Only by becoming the new monopoly power on the web. We know how that story ends.

/be

What’s Alex Russell’s response to the leak? #
From Alex’s blog:

Making the rounds is an accidentally leaked early draft of notes from a meeting last year that discusses both Dart and JavaScript. I work on many web platform-related things at Google, including serving as a representative to TC39, the body that standardizes the JavaScript language. I wasn’t at the meetings having previously committed to presenting at FFJS, but my views were represented by others and my name is on the document. As I said, though, it was 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.

He continues:

So what’s the deal with Google and JavaScript?

Simply stated, Google is absolutely committed to making JavaScript better, and we’re pushing hard to make it happen.

Erik Arvidsson, Mark Miller, Waldemar Horwat, Andreas Rossberg, Nebojša Ćirić, Mark Davis, Jungshik Shin and I attend TC39 meetings, work on implementations, and try to push JS forward in good faith. And boy, does it need a push.