No one is forcing anyone to use Dart, anymore than people are forced to use CoffeeScript, Haxe or pyjamas. Many engineers at Google want a sane alternative to JavaScript, and we think it'll save thousands of hours of developer time, millions of developer dollars, and also _user_ time and money as they benefit from more stable apps with more features. JavaScript is not going anyway. If developers flock to Dart, presumably we've offered something beneficial to them.
I joined the Dart team because I thought is was a worthy and important project that could beneficially impact a very large number of people. I _do_ think about these things, they're quite important to me. The goals of more sane semantics, more optimizable structure, and better toolability and tools are to me, and a lot of other engineers, incredibly reasonable and beneficial. That's actually the entire point of the project is to be more reasonable and beneficial than the alternatives :)
If fact, I think I'll use that as my informal Dart tagline: "Dart, reasonable and beneficial!"
More seriously, Dart is created by people who think that JS is broken and we need an alternative. I hope you're not claiming that that's really an unreasonable opinion, and that the only reasonable point of view is that JavaScript should always be the only language used to develop web applications. I'm sure reasonable people can disagree about the degree of brokenness of JavaScript, and about different solutions to the problems.
In all of your condescending[1] comments, you have forgotten to actually articulate what your reasoning is. These are as close as you got:
Dart doesn't have the open, cheerful intentions
Google's overbearing intention is obvious
flawed language
this one is doomed to fail
forced down our throat
[1] I'll Identify these on request. They're unwarranted, counter-productive and rude.
Oh, why not? I wouldn't mind watching a highlight reel and you seem so gleeful.
---
I think my reasoning throughout this page has been more or less articulated, but I suppose I might try for a compact representation.
What exactly do you think is going to happen with Dart?
Is Google going to add Dart to every Chrome install? Sure, maybe. Will so many developers cry out that Safari and IE will also be forced to implement Dart runtimes?
Is every single browser going to run Dart because Dart will have made such a compelling case that it and it alone is preferable to javascript?
Why not python? Why not C, Java, Scala? We could be running those languages in browsers just as easily as we might run Dart.
Do you think Dart is that amazing? Do you think Dart is just so wonderful that it'll unite the programming world as never before?
No.
Even Google's pet framework is divided and recoiling.
The problem isn't that Dart has to compete with javascript, it's that it has to compete with every other language out there, and it's just not that special. Why Dart? If we're going to be serious about ripping up browsers, why Dart?
Now, I maybe should make it more clear: I don't have any problem with Dart as an experiment, Dart as a transpiled language, or even Angular.dart.
But Google doesn't get to decide the future of the web just because it has a bunch of fancy language designers. Google is trying to shove Dart down our throats, and it's not working, and it's not going to work.
Dart will remain a transpiled-to-js language for a time, and then fall off the radar when it's clear that it doesn't transpile to js very well. The alternative is a fantasy.
You claimed that Dart is a flawed language. Substantiate that claim. Basic stuff here. If you can't, I must assume you're a troll or have no clue yet somehow think you do.
> Do you think Dart is that amazing? Do you think Dart is just so wonderful that it'll unite the programming world as never before?
The world isn't black and white. Dart doesn't have to be perfect to be a viable alternative to JS.
> Even Google's pet framework is divided and recoiling.
No, they both thrive and benefit from the other. It is a feature. The same thing is happening with Polymer.
> Why Dart?
Take a cursory look and you'll find some arguments for Dart but I would think you would have covered this before having such a strong opinion.
> Google is trying to shove Dart down our throats
Said multiple times. Substantiate please.
> fall off the radar when it's clear that it doesn't transpile to js very well. The alternative is a fantasy.
So you know more about dart2js capabilities than the creators of V8 and Dart? This is the condescending and arrogant attitude I spoke of.
I was echoing OP (the one who was bemoaning snark and cynicism). Read his paragraphs. Flawed doesn't mean crippled. There are things about Dart I like.
A language can't be perfect.
>No, they both thrive and benefit from the other.
Pay attention to negative feedback. Some substantial portion of AngularJS devs are unhappy.
>Take a cursory look and you'll find some arguments for Dart
I'm not arguing for Dart's existence here, I'm saying Dart has absolutely no chance of securing the browser's runtime over javascript. Why Dart, why not Go?
>So you know more about dart2js capabilities than the creators of V8 and Dart?
Say whatever you want about benchmarks, Angular.dart is either a terrible port (quite possible) or Dart's transpiler isn't on the level of CoffeeScript or TypeScript.
>This is the condescending and arrogant attitude I spoke of.
I'm asserting something grand and sweeping that I think to be true. Get over it or walk away.
> Some substantial portion of AngularJS devs are unhappy.
Define "substantial". I've seen some complaints here that AngularDart has, and will, take away from AngularJS, which, again, is unsubstantiated. It's counter to the evidence and the likelihood that the groups working together will make both better.
> I'm not arguing for Dart's existence here, I'm saying Dart has absolutely no chance of securing the browser's runtime over javascript.
Uh, you've expressed "cynicism [...] over Google's waste of time" and called Dart "pretty flawed", which you haven't substantiated yet. If your were merely expressing skepticism over Dart "securing the browser's runtime over javascript", there wouldn't be a discussion here. Brendan Eich did that for you a long time ago. I'd contend that it doesn't really matter as long as dart2js can fulfill its goals; however, I'd still maintain a wait-and-see attitude about how we'll see DartVM used. There are some very interesting possibilities.
> 173KB. This is ridiculous.
Substance! Thank you. Dart is pre-1.0. It's being worked on. Also, notice at the bottom of that page:
We want your help, especially if you can make update
@MirrorsUsed in main.dart to generate a smaller binary.
> Get over it or walk away.
No, I won't. The attitude isn't conducive to civil discourse and not welcome here so I'll continue calling it out where I see it. I'll take the upvotes as confirmation that others agree with me.
You've got your unsubstantiated opinions and will continue making these "sweeping" claims so there's no point in continuing here. It leaves little room for meaningful discussion, unfortunately.
It's telling, to me, that the first argument of mine you take seriously you handwave over by vaguely saying it will get better and it can be fixed.
I'd place a bet that Dart is about as good as it is ever going to be.
>I'll take the upvotes as confirmation that others agree with me.
Sorry to disappoint you, but I've got upvotes, too.
>The attitude isn't conducive to civil discourse and not welcome here so I'll continue calling it out where I see it.
Whatever floats your pompous self-righteous boat.
I may be curt, strident, and critical, but you don't really have high ground when it comes to condescension. You went straight to childish insults. https://news.ycombinator.com/item?id=6679901
When I disagree with someone I don't directly call them stupid or immature. (Well, usually.) I may speak and act as if something I believe strongly is obvious, and I may not mask my disdain for the ideas expressed. There's nothing wrong with being wrong, but I'm not going to hide the fact that I think you're wrong.
You seem to have a problem that someone a) disagrees with you, and b) says so confidently and forcefully. Again, get over it or walk away. If I'm so wrong and so boorish, you are under no contract to continue.
You can't change me and I am not your responsibility.
Fortunately I think you've finally clued in ("so there's no point in continuing here"). I've certainly spent enough time on this. Later.
> Whatever floats your pompous self-righteous boat.
> I may be curt, strident, and critical, but you don't really have high ground when it comes to condescension. You went straight to childish insults. https://news.ycombinator.com/item?id=6679901
I am flocking to Dart. Just because there are handful of "developers" yelling and spitting at everyone here doesn't mean others don't like Dart or are not learning it. They just don't yell and spit in everyone's face about so it makes it seems like "OMG nobody uses Dart, please shut it down".
Dart is a great language, I like it. It has consistent typing rules, very fast, has a good IDE. I for one, would like to thank Google for working on it and open sourcing it.
But I don't have any problem with Dart as an experiment in language design. I don't even really have any problem with Angular.dart.
We can always use another language that transpiles down to javascript. People are free to use what they want. (Unfortunately, my understanding is the dart2js process is horrifically inefficient, but that's no skin off my nose.)
I will, however, drive home the point that Dart cannot out-compete CoffeeScript or TypeScript; Dart will not replace javascript and will not be the native language of the web.
There's nothing to distinguish it from any other language, and it has to deal with backlash like this.
I'm personally happy that there's still hope we have a future option for a re-invented language optimized for web development rather relying on the glacial pace of continually patching JS to make it more maintainable.
It's a small yet powerfully expressive language that's easy to learn, it's very well thought-out and balanced providing greater consistency in both language and library behavior which is a nice contrast to the dump of incompatible JS fx's, it's optional typing adds a lot less friction and is a lot more productive that statically-typed langs, but also provides time-saving compiler feedback alerting errors as you type. It's support for source-maps are best-in-class whilst Dartium provides strong tool-ability and debug support and very fast live-reload cycles. Dart is an awesome option even without considering it's ~10x faster start-up times with Snapshots or its fast run-time performance which sees it can solve the Norvig's top95 Sudoku grids 200x times faster than Ruby: https://github.com/dartist/sudoku_solver#side-by-side-result...
Dart's not perfect and there are some language features I wish it had but over-all I think it's a magnitude better option than vanilla JS. It currently has less momentum than JS, but I hope to see that change as a JS-only future ensures web development will be forever stuck in the middle-ages.
> I will, however, drive home the point that Dart cannot out-compete CoffeeScript or TypeScript;
How are you driving it home besides just repeating it without any other supporting statements? Saying something 3 times doesn't make it truer.
> Dart will not replace javascript and will not be the native language of the web
Still don't get why it wouldn't. What is qualitatively different about DartVM vs v8. It could be 2-3 development cycles away from inclusion should Google decide to do it. What exactly code-wise is preventing that to happen?
> Unfortunately, my understanding is the dart2js process is horrifically inefficient, but that's no skin off my nose.)
Looking at their benchmarks their dart2js is not too far off v8 numbers. Now add types plus a nice IDE and I can see how a larger project might choose instead of JS.
There's a bit of a chicken-egg problem with a project choosing Dart, in that Dart has to already be ubiquitous for it to even be an option.
What is the pathway for Dart adoption? Google puts it in Chrome. Sure. Dart programmers get to deploy to the Chrome browser, so they do some fun side projects and they run on Chrome only. Fine.
Show me how Dart can then move to every browser on every device.
Then show me how whatever hypothetical process you came up with doesn't apply to any other language that currently exists.
If we're going to put a new runtime in the browser, Dart isn't the only option.
Dart's one advantage is very fast development cycle if you use Dart VM in Dartium. No js compilation needed. Very well designed user APIs, Excellent modularity (with pub) and good editor support eliminates many opponents.
I joined the Dart team because I thought is was a worthy and important project that could beneficially impact a very large number of people. I _do_ think about these things, they're quite important to me. The goals of more sane semantics, more optimizable structure, and better toolability and tools are to me, and a lot of other engineers, incredibly reasonable and beneficial. That's actually the entire point of the project is to be more reasonable and beneficial than the alternatives :)
If fact, I think I'll use that as my informal Dart tagline: "Dart, reasonable and beneficial!"
More seriously, Dart is created by people who think that JS is broken and we need an alternative. I hope you're not claiming that that's really an unreasonable opinion, and that the only reasonable point of view is that JavaScript should always be the only language used to develop web applications. I'm sure reasonable people can disagree about the degree of brokenness of JavaScript, and about different solutions to the problems.