I'm really starting to get tired of the cynical and snarky negativity on HN.

Whoever thinks this is part of some grand plan to force Dart down our throats clearly has no clue whatsoever about how Google works.

Standard disclaimer: I'm a Google engineer and these opinions are my own and don't reflect those of my employer.

Google is a really large company with >10,000 engineers. A lot of what we do starts as grassroots efforts. Honestly, getting 10,000 engineers to act in a coordinated fashion is probably like trying to herd 10,000 cats.

AngularJS started as a side project that became Google-sponsored and it grew organically. Being Google-sponsored simply means some team somewhere has dedicated some engineers to working on it. That's it.

Likewise a group of engineers separately started Dart due to dissatisfaction with JavaScript being the lingua franca of the Web. The idea was that Dart can be implemented as a VM within a browser and get faster performance that way. Likewise, it should compile to JavaScript for browsers that don't support Dart in the browser (which is all of them except Chrome). Also, Dart shares a lot of the philosophies of GWT in sharing code between client and server.

Now my personal view is that I honestly don't see the point of Dart. I mean no disrespect to the team or their efforts but I don't agree with the premise or the design philosophy of Dart.

Optional typing seems to me to combine the worst of both worlds. If typing is useful (as the static typers will argue) then be statically typed. If it's not be dynamically typed. Dart's type system is basically just the Closure JsDoc system used by the Closure compiler. That's it. To me, there's no real innovation there.

Dart is really just another Coffeescript and I don't see the point of Coffeescript either.

One of the benefits of development in JavaScript is you can simply refresh your browser and it just works. I'm a huge fan of this fast iteration cycle in development. It's the same reason I'm a fan of Python, Ruby and even PHP.

Additionally, as soon as you add a translation step from something to JavaScript, you introduce potential bugs in that translation (eg I've seen bugs with the Closure compiler incorrectly removed code it thought was dead and that was JS to JS let alone the issues with, say, GWT's Java to JS). Even if there aren't bugs, tracing issues back to the source becomes more difficult.

Rob Pike through Go seems to believe this too (not that I claim to speak for him) because he's repeatedly mentioned that the simple syntax of Go and fast compilation is a deliberate feature, a philosophy I agree with 100%. It's also one reason I detest C++: slow compilation kills productivity (IMHO).

So AngularDart is nothing more than another group of engineers (perhaps there's a crossover with the Dart folks) wants a modern Web framework for client-side Dart so they created one.

The idea that this is part of some grand strategy is quite frankly ludicrous.

Google puts their effort behind a lot of experimental projects. Some work out, many don't. Will Dart succeed? I don't presume to know. But while I don't agree with the premise/philosophy it makes me happy that the company I work for is still prepared to experiment with such efforts and devote resources to them.

If you work at Google you'll often see three teams working on roughly the same thing, typically without knowing about the existence of the others. They may consolidate or compete (if they have incompatible philosophies that the teams feel strongly about) or something in between.

This happens because so many efforts just start out as a single engineer or a small group of engineers just trying something out or they want to solve a problem they see (and in an organization this large it's rare you're the only one who sees a particular problem and wants to do something about it).

So, please, can we discuss this on its merits rather than the new norm of seeing vast conspiracies or simply seeing things as some collusion with the NSA. It's really tiresome.

EDIT: added a paragraph about the issues of bugs and translating something to javaScript.