Standard disclaimer, I work on Dart. And normally I'd avoid engaging a borderline troll, but this is such a terrible comment, in so many ways, that I have to speak up.
> Never rely on Google for anything
First, you're expectation that Google will drop Dart is based on what exactly? A few SaaS product cancelations? The "never rely on Google" meme is getting so old, mainly because it's overly applied to Google when all SaaS providers have this issue, and it's been a known downside for years: when product support ends for an installed app, you still have the old installed app to use, when support is ended for SaaS users have a problem. I hope this can be mitigated one day, but that's a whole other topic. The differences with Google is that we have a ton of users even for our "small" products, and there's a single name to attach attention to, rather than the numerous shutdowns that have happened in other companies, or the startups that have bee bought and killed.
The important bit for the discussion at hand is that Dart is not even _anything_ as a service. It's a set of installed, open source compilers and libraries. They will continue to work in the (unlikely, IMO) event that Google drops support.
> This means that any developer taking over Dart would have to support the IDE, the VM, the javascript transcoder, the language, integration with new browser features, cross browser compatibility, etc.
Dart's more of a collection of independent pieces. If Google ever did completely drop Dart I'm pretty sure that the parts could be maintained by the community (assuming the community hits critical mass). The dart2js compiler is the most important part and it's well structured, easy to understand code. The IDE could be abandoned in favor of plugins for WebStorm (already maintained by IDEA), Sublime, vim, etc.
> Dart has neither income nor traction.
Dart will never have income, that's not its purpose. Dart's purpose is to make web development easier, more productive and more scalable, and web apps themselves faster. This goal is both for internal development, for which we badly need something like Dart, and for everyone else because we want to see more and better web apps.
As for traction, if Dart doesn't get any traction (after it's actually released, and had a good chance to succeed of course!), inside Google or outside, then it probably _should_ be abandoned, right? In that case, who exactly is there to care that it's not developed anymore?
I've heard some people point to GWT as an example of what might happen to Dart. I don't agree, but for the sake of argument, let's look at where GWT is: 1) There's an official community maintaining GWT, 2) Google still has a team working on GWT, and large projects using it. 3) GWT will still get better as Java gets better. There are other factors that apply to GWT and it's language that don't apply to Dart. If Dart's fate was ever the same as GWT, I'd say it'd be a pretty soft landing for everyone.
> Just to add, Google can artificially increase traction of Dart by putting the Dart runtime inside Chrome and using that as a weapon to increase Chrome adoption, similar to Microsoft's ActiveX strategy.
This is still a ridiculous comparison. ActiveX was a plug-in architecture. Dart compiles to JavaScript. We support all "modern" browsers, IE9 and up.
Look, we've made no bones about wanting to get the VM into browsers some day. And obviously, being part of the Chrome team, we'd like to see it in Chrome. Lars pointed out at Google I/O that there's work already being done to pave the way for this on the memory management side. The Dart VM does enable faster and quicker to startup applications, no doubt.
But we all understand that Dart will be distributed as JavaScript for the foreseeable future, and we do considerable work to ensure that programs behave the same in dart2js and the VM, and that the JS output is very fast. The Dart and Chrome teams firmly believe that the adoption of Dart will entirely depend on it's success as a compile-to-JS language. How Dart helps developers will be its main draw, and hopefully there's organic demand for the VM as an accelerator for apps that already work well across the web.
This will not be "evil" in anyway, but one of many ways that the browser vendors have pushed the web forward. There are so many examples of a vendor pushing something that's initially totally or somewhat proprietary but end up being a great thing for the web, that only comparing Dart to ActiveX is just juvenile and annoying. Consider JavaScript itself, XHR, <canvas>, CSS, SVG, WebGL, setImmediate() and so many other DOM APIs, CSS extensions like rounded corners, shadows, transforms, etc. Some of these have actually been much more backwards-incompatible than Dart which primarily _compiles_to_JS_.
The FUD around Dart is just incredible. No matter though. We see the benefit every day that we luckily get to code in Dart, and so does our community. Those who wish to reap the benefits Dart can opt-in and those who don't can ignore it.
First, you're expectation that Google will drop Dart is based on what
exactly? A few SaaS product cancelations? The never rely on Google meme is
getting so old, mainly because it's overly applied to Google when all SaaS
providers have this issue, and it's been a known downside for years: when
product support ends for an installed app, you still have the old installed
app to use, when support is ended for SaaS users have a problem. I hope this
can be mitigated one day, but that's a whole other topic. The differences
with Google is that we have a ton of users even for our small products, and
there's a single name to attach attention to, rather than the numerous
shutdowns that have happened in other companies, or the startups that have
bee bought and killed.
No, the difference with google is they use their billions of dollars and monopoly/near monopoly status in neighboring markets to come in, underprice competitors for years to not only win users for a saas product but also to poison the market and drive all competitors out of business, and then close up shop and wonder why people are pissed.
As for traction, if Dart doesn't get any traction (after it's actually
released, and had a good chance to succeed of course), inside Google or
outside, then it probably _should_ be abandoned, right? In that case, who
exactly is there to care that it's not developed anymore?
any suckers that built products on top of it?
The FUD around Dart is just incredible.
and it's apparently too much to introspect and figure out why people, quite rationally, are declining to trust google.
Someone from Google's HR team needs to drag you into a room, and force you to read something about the art of persuasion. You have embarrassed your project and team. While your arguments are mostly sound, they are overly combative and largely unconvincing. From a 70 year old book, here are some tips to "Win people to your way of thinking":
* The only way to get the best of an argument is to avoid it.
* Show respect for the other person's opinions. Never say "You're Wrong."
* If you're wrong, admit it quickly and emphatically.
* Begin in a friendly way.
* Start with questions to which the other person will answer yes.
* Let the other person do a great deal of the talking.
* Let the other person feel the idea is his or hers.
* Try honestly to see things from the other person's point of view.
* Be sympathetic with the other person's ideas and desires.
* Appeal to the nobler motives.
* Dramatize your ideas.
* Throw down a challenge.
Frankly, you should relax. Google's Go ate tons of shit on HN, and now gets nothing but praise. If you wan't to persuade people to the way you think, then persuade people correctly. If you are offended by some argument, grow thicker fucking skin and don't lash back. If you must lash back do it from a throwaway account and don't mention you work for Google. Let the arguments rest on their own merits.
My feedback to your perspective is that I wasn't convinced to use Dart. In particular, when you said this:
The important bit for the discussion at hand is that Dart is not even _anything_ as a service. It's a set of installed, open source compilers and libraries. They will continue to work in the (unlikely, IMO) event that Google drops support.
... I recognised that you'd missed the original article's point, which is that enterprise customers won't adopt it. If Google wants Dart to be of interest to more than tech startups or hobbyists, then ongoing support, patching, commitment from the vendor is ab-so-lute-ly necessary. This is why Rails succeeded, for example. And poor old godforsaken Java.
It's just the reality of technology component selection for IT in the mundane non-tech-sector.
As for your tone in here:
expectation that Google will drop Dart is based on what exactly? A few SaaS product cancelations? The "never rely on Google" meme is getting so old
that's just plain bitchy, sorry - and not at all convincing. If your intention was to make Google insiders look like disconnected academics in an ivory tower, you succeeded; if your intention was to make Dart look like an attractive prospect for developers to choose to invest their time in learning and developing with, I suggest you should rethink your pitch.
> ongoing support, patching, commitment from the vendor
is ab-so-lute-ly necessary. This is why Rails succeeded,
for example.
This doesn't make any sense -- there is no "the vendor" providing those things for Rails. If anything, this illustrates the parent's point that the Dart community (like the Rails community) can support the Dart compiler and other tools if Google ever pulls back from it.
I'm on HN as an individual, as I was before I joined Google. My intention when I post here is always to share my personal point of view, which now happens to include a lot more information from inside this company that I work for.
I'm not here to "convince" people to use Dart. That will only happen because of it's utility to developers, and I'm more than fine with slower organic growth if it develops more from actual problems being solved, and less from hype. If anything there's a ton of anti-hype around Dart, so it has a lot to overcome with some people even if does address their problems. Such is life.
I'm pretty sure there will be such an explicit commitment to Dart communicated externally, but since I'm speaking for me, and since the question at hand had to do with what would happen _if_ Dart were canceled I addressed the hypothetical situation. Maybe a PR departments would have danced around that and simply said, "we're committed to Dart. Next question", but I'd much rather dig in say that we're committed, but sure, "what if". To me that's a real discussion, not a rhetoric, not a pitch.
As for my tone, can you imagine what it's like to have the company you work for called "evil" because they shut down a RSS reader or move away from using XMPP in their chat app? Or that you can't rely on Google because of the Reader shutdown, or the price increase on App Engine when it came out of preview. I hardly agree with every things Google does, but the hyperbole surrounding it is incredible. Not every product that any company makes will be successful, not every product can be kept alive indefinitely. Google receives an inordinate amount of flak for it's changes, mainly I think because we have so many products that it's easy to keep seeing a small fraction of them change it's still seems like a lot because it's all under Google. Meanwhile there's multiple instances a day of some other companies products changing, or shutting down, or being bought to be shuttered later, but because they're spread out over many brands. The recent constant chime of "evil" and "unreliable" is so often drawn on really warped and rushed comparisons that don't make sense if just a little thought is put into analysis, so yes, it gets really old, to me, personally.
Not only that, it could cause a "the sky is falling" perception of communities like HN. This is a real concern of mine because many times there are legitimate points here and several of us like to represent them back into the company. If HN reflexively interprets everything that Google does as evil and bad, it becomes harder for the Google members of the community to go internally and say "this isn't being received well, is there room for improvement?". We haven't reached that point yet, but it's something I worry about. The reaction to the "no servers on Fiber" rule is the type of thing that several of us try to represent back to the company. I, and many Googlers, respect the hell out of this community, but the more ridiculous the FUD and conspiracy theories get, the more the reputation erodes. I don't want to see that happen, so I actively combat it when I can, by trying to dispel the falsehoods, and also by chiming in when I agree with some of the negative sentiments. But yes, it gets really, really old.
"...my personal point of view, which now happens
to include a lot more information from inside this
company that I work for. ... "
More like you are sharing your personal view, having drunk the Kool-Aid.
You said Dart VM is free and can be added to any browser -- except it has deep roots into the Chrome code so this is a ton of work to do (global garbage collector between Dart, JS, DOM for instance).
You said you "ensure that programs behave the same in dart2js and the VM, and that the JS output is very fast" when dart2js doesn't support big integers or operator overloading on any numbers, among other differences, and it's ~30% slower than normal JavaScript (is much slower than TypeScript code for instance).
Dart designers have for a year now knowingly lied about dart2js DeltaBlue benchmark performance (they optimized DeltaBlue when porting it to Dart, then compared the optimized version back to the original JS). For me, I would never use a product who's designers lie to me about it.
can you imagine what it's like to have the company you work for called "evil"...
I really can't. When I work for a company it doesn't become part of my Self, and I don't feel the need to spin its actions to make them look positive. If it's a company that 'does know evil' then get out, or get over it.
Remove OrderedCollection from JavaScript or add it to Dart, then compare. This extra level of indirection on every container is very costly in V8 and Ion. At least four of your coworkers are aware of this. They should have communicated it to you a long time ago.
> This extra level of indirection on every container is very costly in V8 and Ion.
It is very costly only if JIT is particularly bad at eliminating redundancies. Crankshaft is not and (I hope) neither is IonMonkey.
If you try removing it yourself from JavaScript version and replace every new OrderedCollection() with [], .add with .push, and so on then you will discover to your amazement that resulting code became 7-10% slower on V8 [try it, I am not joking :-)]
Now if you replace [] with new Array() then you get code that overall is 3-5% faster on V8. That is about how "costly" this indirection is.
Overall it seems that this is irrelevant in the large picture of things: Dart VM is around 195% of V8, dart2js is somewhere around 100%.
I do agree however that this OrderedCollection looks completely out of place and it is not clear to me why it appeared in the original JavaScript benchmark code at the first place. It is not idiomatic.
> you will discover to your amazement that resulting code became 7-10% slower on V8
I found both V8 and Ion to be >10% faster using array. I no longer have the results but IIRC it was 11% for V8 and 14% for Ion on i7 (ivy bridge). I moved remove() from OrderedCollection to Array prototype. Perhaps you made some other change.
> Overall it seems that this is irrelevant in the large picture of things: Dart VM is around 195% of V8,
There are 3 benchmarks. That is not enough data to say anything meaningful about Dart VM performance.
> dart2js is somewhere around 100%.
How can dart2js results be compared to the original JS if the data structures used are different? It makes no sense.
I tried with both global remove and remove on the Array prototype.
V8 has recently improved DeltaBlue score by, I think, ~6% so it can be that before this improvement OrderedCollection overhead was more noticeable. (some of that improvement comes from tweaks in the inlining heuristics AFAIK).
> There are 3 benchmarks.
I was stating performance numbers for DeltaBlue only. Sorry for not being clear.
> How can dart2js results be compared to the original JS if the data structures used are different?
Substract 5%. dart2js is around 95%. Does it make sense now?
HN is a mix of serious complaints and trolling, and it's often difficult to separate the two just by reading what's written on the page.
Ultimately, everything everyone does can be considered evil. Plant a tree? That tree is turning CO2 into oxygen that a murderer will one day breathe. How could you aid and abet a murderer like that? You're evil!
Maybe Google will someday be truly evil, but you don't have to make that decision now. Ultimately, you're deriving income and enjoyment working on a programming language that will improve software engineers' ability to produce high-quality computer programs. The language, libraries, and discussions are open for anyone in the world to participate in. You're not doing anything wrong, and you shouldn't have to justify your actions to anyone but yourself.
I think the real criticisms of Dart boil down to: "I don't want to learn a new programming language, and if some random crackpot was making Dart, I wouldn't have to. But with Google's engineering prowess behind the project, it's probably going to be popular, and I'll have to learn it. Better kill it while I still can."
Really, that's a completely reasonable reaction to a new technology. If the new technology replaces the old technology, it means someone invested in the old technology loses everything: their reputation in the community of programmers, their familiarity with tools and libraries, and everything they've ever done with their life as a programmer. That's pretty scary, so there's going to be resistance on programming forums when you suggest a new way to do things, and I think that's what this thread has devolved into. FUD is a good way to make other people emotional, and there's safety when other people share your views. Doesn't mean the views are correct, however.
You believe that anyone critical of Dart is deliberately trying to sabotage it because they are too lazy to learn another language ? Give us a break with this ridiculous drivel.
I am critical of it because I am sick of companies coming up with their own proprietary technologies and trying to force it as a defacto standard. It hurts developers. It hurts consumers. It has real economic and productivity costs. It undermines the fabric and stability of the web as a platform for humanities' information.
Google, Microsoft, Mozilla and Apple have a responsibility to work together to create open, widely adopted standards. And they all deserve criticism when they deviate from this.
"Coming up with their own proprietary technologies" - Considering Dart is completely OSS and is being developed in the open and has a goal to standardize the language after its release, by "proprietary" I'm assuming you mean it was actually realized and physically developed by engineers and sponsored by a Company?
Dunno, wanting standards is one thing, but I don't think it would result in these long rants. I have to think they're motivated by fear, and I'm only speculating as to what that fear is.
You're saying the reputation of the hacker news community is weakening in the eyes of Google because they're losing trust in Google based on the company's actions?
I think he's saying that Google gets negative a million HN points for everything bad they do, and zero points for everything good they do. I've certainly noticed this, but people are programmed to react to controversy and sensationalism, so I'm not surprised to see controversy and sensationalism highly-rated on HN. Just a little sad.
Reddit is the same way, but at least people on Reddit don't take themselves so seriously.
This is just plain nonsense. Go and AngularJS are two of the most popular technologies on HN. And I can't imagine anyone not believing Google's DB work (BigTable, BigQuery, Dremel) for example is anything but impressive.
Go was pretty much bad received when it pops over here..
after a long and difficult road, its receiving its deserved momentum
But unlike Go, Dart is in the web terrain.. things will be much more difficult.. because there are much more people married with javascript .. and the fanatism and emotional reaction is much worse
I see lots of negativity in Go and AngularJS articles, too. And most of these articles never make it to the front page, while these rants get instant upvotes. Certainly, there is a happy silent majority, but that is much harder to measure and react to than constant angry hate.
> can you imagine what it's like to have the company you work for called "evil" because they shut down a RSS reader or move away from using XMPP in their chat app?
I worked for EA for 7 years. We were called evil for every reason under the sun (Day 0 DLC?! EVIL!).
One of the best jobs I ever had, and never responded in public to threads like this. FWIW, I avoided the forums were I would read them. Not worth it.
>First, you're expectation that Google will drop Dart is based on what exactly? A few SaaS product cancelations?
How about that Unladden Swallow that was announced with fanfare back in the day?
>The "never rely on Google" meme is getting so old, mainly because it's overly applied to Google when all SaaS providers have this issue, and it's been a known downside for years: when product support ends for an installed app, you still have the old installed app to use, when support is ended for SaaS users have a problem.
You actually reinforced that the "never rely on Google" is not old, but complete revelant. If anything, you didn't knock the meme down, you only made it stronger: "never rely on any SaaS".
> How about that Unladden Swallow that was announced with fanfare back in the day?
That's not a fair comparison: Unladen Swallow was designed to be completely compatible with CPython, so it wasn't a 'new platform' that people would depend on Google to support. Also, when Unladen Swallow was abandoned, it didn't leave anybody stranded. Unladen Swallow was abandoned because it wasn't appreciably faster than CPython, so nobody was using it anyway.
This is not really relevant to your comment, but just wanted to let you know that Dart together with Julia is very close to my ideal of a general purpose language. Ceylon looks very promising too, but it's not ready yet.
Probably the only thing I don't like is optional typing...
> The Dart and Chrome teams firmly believe that the adoption of Dart will entirely depend on it's success as a compile-to-JS language.
Interesting. I've held off creating anything serious in Dart because I'm waiting for it to be built into Chrome directly. I know compiling to JS is important, but I feel like other browsers will add Dart support shortly after Chrome, and in the meantime I'd use the Dart2js as a stopgap.
> but I feel like other browsers will add Dart support shortly after Chrome
Yeh no.
Both Microsoft and Apple have stated that they don't believe in the premise of Dart and the fact that Google designed it unilaterally doesn't help. Without Apple in particular (dominant mobile browser) any technology like this will never gain serious traction.
I realize that is their stance today, I just don't see it lasting. Dart seems like a huge improvement over JavaScript, and other browsers will need to catch up.
>As for traction, if Dart doesn't get any traction (after it's actually released, and had a good chance to succeed of course!), inside Google or outside, then it probably _should_ be abandoned, right?
Yep. So goes the argument. When/how is it going to be released in a meaningful way, such that it can 'actually' gain traction?
People are using CoffeeScript and Typescript in production right now. Dart has been a theoretical project for far too long.
>The Dart and Chrome teams firmly believe that the adoption of Dart will entirely depend on it's success as a compile-to-JS language.
Yep. It's not doing so well.
>The FUD around Dart is just incredible.
Maybe it's not FUD, maybe it's legitimate criticism.
Dart 1.0 will be released pretty soon, as Lars & co, have said. It takes a long time to create a new language and core libraries from scratch.
But I can't believe you complain that it's not released yet, and that it doesn't have much traction in the same post...
I think Dart adoption is going along just fine, considering it's pre-release state for the last two years. If too many people had already starting using it, they might have had unmeetable expectations about it's stability and readiness. Better that there are fewer early adopters who are aware of and willing to take the pain of the evolving platform.
>But I can't believe you complain that it's not released yet, and that it doesn't have much traction in the same post...
Where's the contradiction?
For one, other projects have gotten traction LONG before the stable release. Mongo and Node.js come to mind.
Second, the complaint can be stated as: "If you want it to gain traction, why do you keep tinkering on it for such a long time without a stable release"?
Damned if you do and damned if you don't. If they release it and iterate on it for years in the public before official release, you complain about adoption or lack of users.
If they were to bake it internally first until it is stable and then release it "done", then everyone complains about a closed process.
And do you have any numbers to compare Dart vs Typescript vs CoffeeScript adoption?
I ain't sure if that's directed at me, but assuming it is, CoffeeScript and Typescript and, heck, even asm.js are direct competitors to Dart. It's all transpiled languages competing for mindshare. Dart isn't doing well on that field.
There's nothing regarding fear, uncertainty, or doubt in that assertion.
Was directed at the general FUD towards Dart, not your comment.
That said nothing like Dart exists, which is a ground-up new implementation of a new structured web language to build and maintain high-performance complex web apps. There are many parts to Dart, like the Dart SDK which provides a set of well-written and consistent APIs, smoothing over the DOM and browser quirks that also introduces a new Future/Streams composable async model simplifying IO and handling events in js web apps.
The dart2js component is what Dart shares with other transpiled languages like CoffeeScript, TypeScript and asm.js. Out of this only TypeScript shares the goal of a structured/toolable language for building complex web apps, which is essentially just an optionally-typed superset of JS that's forward-looking to features proposed by the ECMA standards committee. Since TypeScript is a tooling/transpiler that sits on top and is dependent on JS it will have a slower dev/edit/reload cycle since it always needs to compile before running, its tied to JS semantics so it wont be able to have the same level of advanced tree-shaking Dart can and as its performance is tied to JS VMs it wont be able to take advantage of DartVM "Snapshots" for instant start-up times or the 2x faster predictable runtime performance of the DartVM.
Dart is also the only strategy that allows us to get a "clean-break" from JS. Personally I think it'd be a tragedy if in 10 years time everything still depends on and we can't innovate past JS, killing any hope being able to natively run other languages in browsers. I strongly believe in order to progress we need to re-invent, to tear things down, keep what's good and discard the warts and legacy, not build on top of it. Maybe it turns out Dart isn't it, but I sure hope something better succeeds past JS.
To be fair, people use Dart in production right now, too. In fact, there are high profile Google projects being written in Dart (unfortunately, they aren't released yet). See Blossom's post for one example: http://www.ramen.io/post/46936028144/we-are-switching-to-dar...
> Maybe it's not FUD, maybe it's legitimate criticism.
"If I could take a clean sheet of paper and write [a new language] that retains all the goodness of [JavaScript] ... I would not have come up with anything like Dart." -- Douglas Crockford
How is this legitimate criticism? Especially since Dart has all the goodness of JavaScript except monkey patching (or is that one of the good parts?)
What frustrated me about Douglas Crockford's response is that he didn't come out and say what he'd like a JavaScript replacement to look like. That would have been interesting.
He's been very clear about what he wants as a replacement for javascript for many years, hiding it in plain sight in a little book called "Javascript the good parts" and codifying it in JSLINT. It just looks too much like Javascript to be recognised as a replacement.
That was my thought too. He said recently in a video interview the he wished JavaScript had tail call optimization, so it would probably be something along functional programming lines.
I think it was this one, but they don't publish a transcript so I can't easily verify:
> Never rely on Google for anything
First, you're expectation that Google will drop Dart is based on what exactly? A few SaaS product cancelations? The "never rely on Google" meme is getting so old, mainly because it's overly applied to Google when all SaaS providers have this issue, and it's been a known downside for years: when product support ends for an installed app, you still have the old installed app to use, when support is ended for SaaS users have a problem. I hope this can be mitigated one day, but that's a whole other topic. The differences with Google is that we have a ton of users even for our "small" products, and there's a single name to attach attention to, rather than the numerous shutdowns that have happened in other companies, or the startups that have bee bought and killed.
The important bit for the discussion at hand is that Dart is not even _anything_ as a service. It's a set of installed, open source compilers and libraries. They will continue to work in the (unlikely, IMO) event that Google drops support.
> This means that any developer taking over Dart would have to support the IDE, the VM, the javascript transcoder, the language, integration with new browser features, cross browser compatibility, etc.
Dart's more of a collection of independent pieces. If Google ever did completely drop Dart I'm pretty sure that the parts could be maintained by the community (assuming the community hits critical mass). The dart2js compiler is the most important part and it's well structured, easy to understand code. The IDE could be abandoned in favor of plugins for WebStorm (already maintained by IDEA), Sublime, vim, etc.
> Dart has neither income nor traction.
Dart will never have income, that's not its purpose. Dart's purpose is to make web development easier, more productive and more scalable, and web apps themselves faster. This goal is both for internal development, for which we badly need something like Dart, and for everyone else because we want to see more and better web apps.
As for traction, if Dart doesn't get any traction (after it's actually released, and had a good chance to succeed of course!), inside Google or outside, then it probably _should_ be abandoned, right? In that case, who exactly is there to care that it's not developed anymore?
I've heard some people point to GWT as an example of what might happen to Dart. I don't agree, but for the sake of argument, let's look at where GWT is: 1) There's an official community maintaining GWT, 2) Google still has a team working on GWT, and large projects using it. 3) GWT will still get better as Java gets better. There are other factors that apply to GWT and it's language that don't apply to Dart. If Dart's fate was ever the same as GWT, I'd say it'd be a pretty soft landing for everyone.
> Just to add, Google can artificially increase traction of Dart by putting the Dart runtime inside Chrome and using that as a weapon to increase Chrome adoption, similar to Microsoft's ActiveX strategy.
This is still a ridiculous comparison. ActiveX was a plug-in architecture. Dart compiles to JavaScript. We support all "modern" browsers, IE9 and up.
Look, we've made no bones about wanting to get the VM into browsers some day. And obviously, being part of the Chrome team, we'd like to see it in Chrome. Lars pointed out at Google I/O that there's work already being done to pave the way for this on the memory management side. The Dart VM does enable faster and quicker to startup applications, no doubt.
But we all understand that Dart will be distributed as JavaScript for the foreseeable future, and we do considerable work to ensure that programs behave the same in dart2js and the VM, and that the JS output is very fast. The Dart and Chrome teams firmly believe that the adoption of Dart will entirely depend on it's success as a compile-to-JS language. How Dart helps developers will be its main draw, and hopefully there's organic demand for the VM as an accelerator for apps that already work well across the web.
This will not be "evil" in anyway, but one of many ways that the browser vendors have pushed the web forward. There are so many examples of a vendor pushing something that's initially totally or somewhat proprietary but end up being a great thing for the web, that only comparing Dart to ActiveX is just juvenile and annoying. Consider JavaScript itself, XHR, <canvas>, CSS, SVG, WebGL, setImmediate() and so many other DOM APIs, CSS extensions like rounded corners, shadows, transforms, etc. Some of these have actually been much more backwards-incompatible than Dart which primarily _compiles_to_JS_.
The FUD around Dart is just incredible. No matter though. We see the benefit every day that we luckily get to code in Dart, and so does our community. Those who wish to reap the benefits Dart can opt-in and those who don't can ignore it.