
Dart 1.0 launch is imminent - afsina
https://plus.google.com/u/0/+dartlang/posts/SmWgF4fGzT7
======
kyrra
I've been holding out spending any extended amount of time on Dart until 1.0
as the API for it kept changing fairly dramatically since it was first
announced (it was first announced on October 10, 2011 at the GOTO conference).

There isn't anything super amazing about this language from a language
perspective, but I think you need to look at what Dart really brings to
understand why it may be a nice alternative to JS.

* Optional typing. While typing data is completely ignored at runtime, even in the DartVM, it can help a lot for tooling if you are working on a large project. If you don't care about typing, you can just use "var" for everything.

* Batteries Included: IDE, package manager, core libraries. This means you get decent IDE to start coding in. If you don't like Dart's eclipse-based IDE, JetBrains has been maintaining a Dart plugin for their IDE (IntelliJ or Webstorm). The core library includes a lot of useful classes (not to the level of Java, but definitely has a lot of useful default packages). The package manager is nice to ship with the product as well to maintain use of 3rd party libraries.

* Nice development story. Sure, no shipping browser has the DartVM in it, but when you are doing initial development, you can use Dartium (chormium build with the DartVM in it) to do fast, iterative development. When you need to cross-browser test, you deploy to JS and see how things go.

* Speed. If/when the DartVM starts to ship in Chrome, it should help performance of apps that ship as Dart code. Specifically the runtime performance can be better as their DartVM doesn't have to support a lot of legacy syntax/behavior that JS VMs have to worry about. Along with that, the DartVM supports Snapshots. These are basically a heap dump of an application right before main() is run. This allows Dart apps to start up a lot faster on subsequent reloads.

~~~
Romoku
Why not TypeScript?

~~~
kyrra
For me: because my background is mainly Java. While I understand prototype
inheritance, I'm not as familiar with the programming style of Javascript. I
like being able to create strict class structures and use those. Prototype
structure allows for ad-hoc creation of a class. This makes code analysis and
tooling a lot more difficult to do properly.

(I do have to deal with the fun that is Perl on a daily basis, but I'm still
more a fan of Java style OOP).

Also, my entire professional career has been working on projects that are
worked on by 30+ people with a very large code base. When you have large teams
using a language that doesn't enforce strict structure, you tend to miss
things that could have easily been found at compile-time with proper tooling.
This can be accomplished in languages like Javascript, but it requires strict
internal controls. Having the language give you that kind of support out of
the box is nice to have.

~~~
Romoku
TypeScript is a typed superset of JavaScript. It has classes, interfaces,
static typing, and object oriented polymorphism. TypeScript is designed to be
used on larger projects.

~~~
tree_of_item
TypeScript also lets anyone ignore all of that and play cowboys and indians
with prototypes.

------
SmileyKeith
Has Dart gained much traction? It doesn't seem like it's been picked up nearly
as much as Go or AngularJS but I may just be looking in the wrong places.

~~~
Touche
I think a better comparison would be TypeScript which is similar minus the
alternate VM part. MS is very good about getting their developer community to
use stuff that they officially support so I wouldn't be surprised of TS
becomes the norm for the Visual Studio developer crowd.

~~~
SmileyKeith
Interesting. Just to note I wasn't trying to compare Dart to Go and AngularJS
past the point that they're maintained/created by Googlers.

------
Xelom
I was hoping Dart 1.0 with this quote: "Hey, we are ready to launch and so is
Google Chrome with Dart VM!". But no, not going to happen.

~~~
dragonshed
This. Will dart ever ship in a browser? It was one of the design goals of the
language, sure, but the lack of actual end users is the thing holding Dart
back in many areas. Until they make this jump, Dart is just another compile-
to-js language among many.

~~~
dasmoth
There's a build of Chromium with a pretty-well-integrated dartvm (Dartium) in
every dart-sdk download.

I don't know if/when this will show up in mainstream Chrome builds, but
technically it's been possible for a while now.

------
sylvinus
This seems really close to the Chrome Developer Summit
([http://developer.chrome.com/devsummit](http://developer.chrome.com/devsummit))
so I guess it will be launched there!

------
Kequc
I was pretty excited for Dart before I found out it could be compiled into
javascript. Is this a superficial feature, or is Dart built with this
capability in mind? I was really hoping for a replacement entirely.

~~~
btian
why does it have any effect on if people should be excited about Dart? You can
compile C++ to C but that doesn't mean they're the same language.

~~~
Kequc
Because if all you're looking for is a different way to write javascript then
we already have coffeescript for that. A low level programming language that
can be compiled into a lower level programming language, like c++ and c. Is
not on par with compiling into a scripting language.

~~~
rayiner
C and Java and god knows what else has been compiled to Javascript, so I'm not
sure I see what you're point is.

~~~
Kequc
I am skeptical of Dart's utility since it is limited to what Javascript is
capable of. At the same time I lament about how tired I am of javascript. What
I'm saying isn't difficult to understand at all you're just being dickish.

~~~
tree_of_item
JavaScript is turing complete. That's not a very meaningful limit.

You seem to be implying Dart's semantics are influenced by JavaScript's
because it compiles to it, but that's not the case. It's true for CoffeeScript
because CoffeeScript doesn't try to add semantics to JavaScript, it's just a
syntactic translation.

Yes, there is an aspect of "works best in Chrome" performance-wise, since Dart
VM will be faster than dart2js, but if you were sold on Dart before hearing
about dart2js, I don't know why that would make you change your mind. You were
hoping for a JavaScript replacement, and Dart is exactly that. Compiling to
JavaScript is just something to ease the transition.

------
jayzalowitz
I remember when dart was first presented to me at google. I am amazed with the
progress in 3 years.

------
jgalt212
why the f do i need a google+ account to download Dart?

~~~
jbdeboer
You don't.

~~~
jgalt212
I know I don't. I was making a joke referencing a youtube co-founders's only
comment in 8 years. It got quite a bit of play on this site recently.

[https://news.ycombinator.com/item?id=6695904](https://news.ycombinator.com/item?id=6695904)

I apologize if it was too meta.

