Microsoft Apple Mozilla Dismiss Dart (2011)
What is Dart in a nutshell?
JavaScript in Java syntax and semantics.
What do Microsoft, Apple, Mozilla, say about Dart?
As of , no web browser plans to support Google's Dart except Google's Chrome.
Microsoft's JavaScript team says:
Some examples, like Dart, portend that JavaScript has fundamental flaws and to support these scenarios requires a ‘clean break’ from JavaScript in both syntax and runtime. We disagree with this point of view.
- Evolving ECMAScript
- By Microsoft JavaScript Team (Shanku Niyogi, Amanda Silver, John Montgomery, Luke Hoban, Steve Lucco).
http://blogs.msdn.com/b/ie/archive/2011/11/22/evolving-ecmascript.aspx
Apple's Oliver Hunt of WebKit (engine for Safari and Google Chrome), in reponse to a thread on webkit where Google engineers (Anton Muhin, Pavel Podivilov, Vijay Menon) suggested putting Dart VM into WebKit branch:
What is the benefit to the project in exposing an additional (non standardized) language to the web? All the bindings that webkit currently provides to are either standardized EcmaScript or platform specific bindings used by native code developers embedding webkit.
Adding an additional web facing language (that isn't standardized) doesn't seem beneficial to the project, if anything it seems harmful (cf. VBScript in IE).
Anyway if we were to add an additional language the language people have been asking for for years is Python which is already extremely popular and well known so it seems that it would be a much better choice to expose, but even then it seems like a bad idea.
…
Adding direct and exposed support for a non-standard language [Dart] is hostile to the open-web by skipping any form [of] “consensus” driven language development that might happen (say the path taken by json2.js → the native JSON object), and foisting whatever language we want on the web instead. This implicitly puts any browser that supports additional proprietary extensions in the same position as a browser supporting something like vbscript, and has the same effect: breaking the open web by making content that only works effectively in a single product.
- WebKit branch to support multiple VMs (e.g., Dart)
- By Oliver Hunt.
- https://lists.webkit.org/pipermail/webkit-dev/2011-December/018813.html
The father of JavaScript, Brendan Eich of Mozilla, has this to say:
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:
- TXJS 2011 A6 – Brendan Eich – Ecma TC39: The Good, The Bad, and The Ugly.
- By Brendan Eich.
- http://brendaneich.com/2011/08/my-txjs-talk-twitter-remix/
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 you 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.
from:
- Hacker News. Y Combinator. Comment
- By Brendan Eich.
- https://news.ycombinator.com/item?id=2982949
Why Not CoffeeScript
JavaScript history
- History of JavaScript, 1995 to 2025.
- The Ugly JavaScript. 2010 to 2026
- the History of JavaScript, by Brendan Eich. 2008
- HTML History Timeline. 1993 to 2011
- Netscape Browser Sucks (2002)
- JS: Version History. 1995 to 2025
- JavaScript history, prototype.js (2005 to 2010)
- JS: ECMAScript New Features. 2015 to 2026
- History of the HTML Script Tag (JavaScript) (2011)
- JavaScript History. Sharp Variable for Circular Reference (via Common Lisp Reader Macro Syntax)
- JavaScript the Good Parts, Douglas Crockford. 2008
- JavaScript The Definitive Guide by David Flanagan. 2011, 2020.
- History of Node.js by Ryan Dahl 2011 📺
- Apache vs Node.js vs NGINX 📺. (2013 humor)
- History of Angular.js (2018)
- CoffeeScript or JavaScript (2011)
- TypeScript Will Kill CoffeeScript and Dart (2012)
- Microsoft Apple Mozilla Dismiss Dart (2011)
- Stackoverflow dolts on JavaScript Compiler ES2015 to ES5. (Babel.js) (2014)
- JavaScript Brendan Eich on Fixing String Methods on Emoji (2019)
- JavaScript. Why not create a directive “use new js” to fix warts? (2019)
- JS: CommonJS Module System (2009 to 2026)
- JS: AMD Module System and history (2009 to 2016)
- npm Disease (2021)