

Google releases first beta SDK for Dart, including 20% faster analysis engine - Lightning
http://thenextweb.com/google/2013/06/19/google-releases-first-beta-sdk-for-its-dart-javascript-alternative-including-20-faster-analysis-engine/

======
timothya
It's very exciting to see Dart reaching beta status. The project is definitely
maturing, and hopefully this means that the 1.0 release will be in the next
few months.

The Angular team recently announced[1] that they are going to start supporting
the Dart project too. This means that if you're already familiar with writing
Angular code but you want a language with some better semantics, better
tooling, and a standard library, this may be a good time to start checking it
out.

[1]: [http://news.dartlang.org/2013/06/angularjs-announces-port-
fo...](http://news.dartlang.org/2013/06/angularjs-announces-port-for-
dart.html) ,
[https://github.com/angular/angular.dart](https://github.com/angular/angular.dart)

------
RyanZAG
The idea of Dart is great - but the 'Google' brand attached to it is very
worrying. Dart feels like exactly the type of service that Google will just
drop in the future if it doesn't get popular quickly enough, and with only
Google supporting it, that makes any code written it in a huge risk. Google's
track record is the single clear problem facing Dart at present. Personally,
I've been holding off on Dart for exactly that reason.

I have no idea how Google could get around that - maybe a written promise to
provide support for Dart for X years?

EDIT: Another similar worry: if Dart really does take off, will Google not
just drop support for other browsers besides Chrome from stock Dart?

~~~
bradleyjg
As someone professionally responsible for maintaining and extending a legacy
GWT project, I couldn't agree more with this view.

I'm no longer willing to tie my career to google's fickle attention span.
Particularly since as I understand it the dart team has some of the same
personnel from the old gwt team. They are masters at the art of soft
deprecation through neglect.

~~~
magicalist
Wait, what? My sympathies for maintaining legacy GWT, but that isn't at all
equivalent to Dart except in that they both have JS compile targets. Go is at
least a somewhat more reasonable comparison, but still isn't great. The
biggest problem with any legacy GWT project is all the widgets people loved to
make and use which grafted unnaturally to JS and the DOM, and certainly not
the code transpiler, which is all that really matters here.

Dart is lead by Lars Bak out of Aarhus, which IIRC wasn't even a Google office
location before they hired Lars to do V8. Even if some people transfered over
from GWT, I doubt it would be many, and I don't see how it would have
substantial impact with someone like Lars at the top.

 _And_ it's been 7 years since GWT was released. Yes, yes, enterprise needs
whatever, but many web technologies fade away over time. It sucks if you were
an early adopter and were heavily invested, but at a certain threshold, no one
cares anymore. Is YUI's nearly negligible update rate a sign of Yahoo's fickle
attention span? No, because _no one uses it anymore_ (sorry YUI users), and at
a certain point you have to cut your losses. If the community is self
sustaining enough, it can pick up the slack with these open source frameworks,
but if it's not, I really can't manage any indignation. It happens sometimes.

I'm not advocating using Dart in production (I would advocate just learning JS
if you're targeting browsers anyway...), but this critique is specious at
best, not least because the SDK is apparently just entering beta, so it says
right on the tin not to found your production pipeline on it.

~~~
bradleyjg
GWT may have been released 7 years ago, but it isn't like it was abandoned 5
years ago and the last stragglers have been dying off since then. The release
tempo didn't fall off a cliff until the end of 2011, which just so happens to
be when Dart was announced.

Not that there weren't signs of ADD before that, what with the dizzying
changes in how-things-ought-to-be-done with each point release. But an
attendee of 2011 Google IO could quite reasonably have come away with the
impression that as far as Google was concerned the future of GWT was glorious.
(see
[http://www.google.com/events/io/2011/sessions.html](http://www.google.com/events/io/2011/sessions.html))

Even in this age of iterating, pivots, and agility, two years is a quick
turnaround from breathless evangelizing to dead and buried.

~~~
sfjailbird
Since GWT is open source, Google 'dropping' it (many largish Google projects
use GWT and they still commit code) is not the death knell for GWT based
projects. For the same reason it is being actively developed and has a
steering committee and regular participation of googlers. It is also 'probably
the best cross-compiled JS framework in the world', to borrow a phrase from
the beer industry. Full-featured and works today, not 'maybe in five years'
which is what Dart promises (I'll be the first to jump onto it when/if that
time comes).

------
mark_l_watson
I have played around with Dart - very nice to use the same language on client
and server. I have a small client server example:
[http://blog.markwatson.com/2013/05/complete-but-small-
dart-c...](http://blog.markwatson.com/2013/05/complete-but-small-dart-client-
server-example/)

I stopped playing with Dart when I "discovered" Meteor recently. That said,
the Dart language is very nice and I might still use it on a real project.

------
vyrotek
Barely on topic. Here's a recently posted video on a Dart alternative called
TypeScript.

[http://channel9.msdn.com/Blogs/Charles/Anders-Hejlsberg-
Stev...](http://channel9.msdn.com/Blogs/Charles/Anders-Hejlsberg-Steve-Lucco-
and-Luke-Hoban-Inside-TypeScript-09)

------
embolism
Finally google will have a proprietary language to compete on a level playing
field with Apple without having to worry about web standards.

~~~
mythz
By "proprietary language" do you mean fully open sourced with a liberal patent
covenant and a well documented hosting API that as a goal encourages its
adoption and contributions, that's being developed in the open and is in the
process of being standardized once released?

~~~
embolism
Yes, because none of that will have any effect on Google's control over what
runtime goes into Chrome and their ability to make unilateral decisions about
the language's future. It's fully owned and controlled by Google.

~~~
mythz
> their ability to make unilateral decisions about the language's future

So just like every language being developed today then?

At the moment the goal of the Dart language is to provide a structured
language to help create large scale web applications with much faster Starup
and runtime performance that's being developed by experienced language
designers with input from skilled VM engineers who were on teams that's
brought the worlds fastest language VMs: i.e. StrongTalk's VM (later acquired
by Sun to form Java's fast Hotspot VM), V8 and are now working on Dart's VM.
Google's goal for Dart is to provide a better language to develop, faster and
richer web applications - I'm not sure which of their goals are harmed from
being a Google Sponsored project.

Note the Dart team frequently asks for feedback on the Dart Mailing list and
invites features and language enhancements on the projects issues list:
[https://code.google.com/p/dart/issues/list](https://code.google.com/p/dart/issues/list)

~~~
embolism
No - not like JavaScript.

None of Google's goals are harmed by Dart. That's the point - it's there to
serve their goals by diverting effort away from improving JavaScript - a
project that benefits _everyone_ towards supporting Dart - a project that
benefits Google.

~~~
mythz
The purpose of a language isn't to divert effort away from a language it
compiles to as a first-class concept. That's actually not a goal, that's just
someones cynical view of a potential side-effect when trying to invent a new
more productive language for the web without JS deficiencies, with better
language semantics, faster start-up and predictable run-time performance.

In Lars and Kasper Google I/O talk, they explain that V8 has become an
extremely complex code-base, now weighing more than 500k LOC, with advanced
compiler tricks to achieve the leading performance it currently has. The V8
designers think they're nearing the max performance ceiling possible with JS
where it's unlikely they'll be able to get a further 2x perf improvement:
[http://www.youtube.com/watch?v=huawCRlo9H4](http://www.youtube.com/watch?v=huawCRlo9H4)

Which is in contrast to Dart which was developed with the input of VM
engineers, is a much smaller and simpler code-base that is able to support
proper classes, real integers and SIMD support which is already capable of
delivering 10x faster startup times (with snapshots) and 2x faster and more
predictable runtime performance which is still in beta and has yet to receive
anywhere near the engineering effort V8 has.

Google is big enough to attempt 2 competing strategies to improve web
development and performance, i.e. a faster JavaScript being led by the
Standards committee that's enhancing JavaScript at a comittees pace and by
introducing a completely new language for the web built from the ground up to
be faster, structured and more consistent:
[http://infrequently.org/2011/09/google-the-future-of-
javascr...](http://infrequently.org/2011/09/google-the-future-of-javascript/)

~~~
embolism
Ok these are fair technical reasons for them doing this. Nevertheless Google's
strategy _also_ happens to leave them in control of resulting language and
platform.

~~~
mythz
Once its standardized anyone is free to safely implement it from the language
specs, which they don't even have to do since they are free (and encouraged)
to use the open-source implementation.

Dart wouldn't exist or have anywhere near the technical excellence it has
today if it wasn't a sponsored project. Its existence also doesn't prevent any
other browser vendors from trying the same thing - it may even encourage it if
it yields noticeable end-user improvements.

~~~
embolism
'Once it's standardized' is a chicken and egg statement - since to be
standardized can only happen if other parties get on board. If nobody does,
Google can say 'well we tried', whether or not they made any serious attempt
to involve others in the process (which thus far it would apper they have
not).

The fact that others could try to make their own competitors is an exact
description of the situation where the web breaks down in favor of proprietary
solutions and the strongest companies end up owning the web.

~~~
mythz
You can submit a language specification as a standard without outside buy in.
It becomes an open specification that anyone is free to implement. You seem to
interpret every open initiative Google tries to do with Dart as a bad thing.
What else can they do? How much more open can they make the implementation to
appease critics? What haven't they done yet to make it any more open? V8 was
open sourced and its now powering node, running server side procs in
PostgreSQL databases, creating rich cross-platform Desktop apps with node-
webkit - what has Google done to stop it's pervasive use? Before V8, JS
performance was orders of magnitudes slower than it is today, with little
focus on performance - and now there's an arms race.

The web doesn't have to worry about the strongest companies making too good
compelling open-source solutions that people fear will end up owning it, we're
in 2013 and web development is still fragmented, inconsistent and progressing
at a glacial pace. The biggest threat is coming from proprietary native apps
in walled garden mobile platforms being developed behind close doors without a
standards body in sight and no desire for any open or interoperable
initiatives.

Without any attempts at any new initiatives trying to make web development
better, in the next 5 years we'd still be building buggy web apps on a broken
language running at similar to todays performance - but hey, at least we
waited for the standard bodies to create all possible solutions. All other
attempts that stray from the script be damned.

~~~
embolism
The web ending up being controlled by Google isn't 'saving' it from
proprietary platforms at all.

If standards bodies are as feeble as you suggest aren't going to be a serious
custodian for Dart anyway.

Ossified standards bodies or unilateral action are not the only options.
Google could have engaged in cooperation with other interested parties
throughout the development, so that it was a truly collaborative effort.

Whilst I agree there are technical problems that Dart is solving, they have
chosen an approach designed to maximize their control over the web.

~~~
FeloniousHam
But how Google's "control" over Dart (meaning: "leading the development"),
maximize their "control" over the Web (meaning: "currently providing the best
suite of applications")? It's a language. If it takes off, it will be self-
sustaining. Has IBM's "control" over Eclipse given IBM dominance over the Java
ecosystem?

I read a lot of criticism of Google's centralized incubation of Dart, that it
has not been developed by some standards committee. How would this prevent the
nightmare scenario of a Google overlord (it's a _language_, for Pete's sake)?
What was the last successful committee designed language you've used?

tl;dr Hate Google for all kinds of reasons, but judge the language on its
merits.

~~~
embolism
Since when was eclipse the same as the java language? That analogy seems
almost like a deliberate misdirection - do you really mean it?

Your TLDR says it all - you tell us to look at Dart as if it were some
disembodied platonic entity independent of the goals of the corporation that
controls it.

But Dart _isn 't_ independent of Google, so can you explain _why_ we should
limit our thinking like this?

~~~
FeloniousHam
Eclipse is a tool that was wholly developed by IBM before it was spun off as
an independent foundation. Even then, IBM was the largest contributor to its
development. Regardless of the fact that IBM was using Eclipse to advance its
corporate interests (to provide a tool suite to replace Visual Age and support
Websphere), the IDE is still useful.

You see, it's possible to separate the product from its origin.

A language has even _less_ to do with advancing corporate interests (other
than Google's professed goal to "make the web faster"), since it's an agnostic
platform rather than a product designed to further a specific goal.

------
alvivi
Where is the "Works better on Google Chrome" badge?

~~~
mbsuperstar1
Google Chrome has yet to implement the DartVM, I believe the OilPan memory
experiment allowing for multiple languages to interact with the DOM without
leaks is experimental still. Secondly, Dart compiles to efficient Javascript
and works on all modern browsers.

~~~
azakai
Sounds interesting, is there more information on that that I can read?

~~~
magicalist
Check out
[https://groups.google.com/a/chromium.org/forum/?fromgroups#!...](https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/blink-
dev/V1vJmirHUGE) or just look for oilpan on blink-dev.

I haven't seen anything about Dart (the big win would be eliminating the
really slow DOM "GC" cycles on the webkit/blink side of things), but it would
be interesting if this opened the way for easier VM integration. My
understanding was that post-webkit they were tying v8 deeper into blink,
though, not allowing more flexibility...

~~~
azakai
Thanks, yeah, that was my guess too (fix leaks by GCing DOM stuff, which is a
nice idea), I was surprised to hear it was related to Dart somehow. I can't
seem to find anything online explaining a connection between them (is it just
speculation?).

~~~
dwischusen
See
[http://www.youtube.com/watch?feature=player_detailpage&v=hua...](http://www.youtube.com/watch?feature=player_detailpage&v=huawCRlo9H4#t=2848s)

~~~
azakai
Thanks!

