News for hackers. Stuff that matters.
Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Wednesday March 25, 2015 @02:10PM (#9264785)
I think Dart is sort of like CoffeeScript in that it was an experiment and influenced a lot of JavaScript standards people.

A lot of the features of CoffeeScript are being integrated into JS with ES6 and ES7. The same is actually happening to the unique features of Dart such as typing and SIMD and better modules.

Typing is so cool: http://wiki.ecmascript.org/doku.php?id=harmony:typed_objects

SIMD is amazing: https://github.com/johnmccutchan/ecmascript_simd

So, thank you Dart for showing us the way!

My only worry is that the innovators behind Dart are going to be stuck on the Dart project while JavaScript gains their features and even more momentum. I would suggest that they let Dart die and not be stuck with it for years after it has stopped being relevant -- that would be a waste of their talents as they did really see what the future would be.

Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Wednesday March 25, 2015 @06:42PM (#9266517)
Good for lulz, but this is really uninformed, if not made up from whole cloth.

The influence of Dart on ES6 and 7 apart from SIMD (John McCutchan shout-out, John did the Dart work and then worked on https://github.com/johnmccutchan/ecmascript_simd; I had some small helpful role to do with the project involving Mozilla and Intel, too) and the courage and validation -- not the idea, which pre-dates Dart -- of giving the for (let...) loop a binding per iteration in ES6 as in Dart, there has been no influence or help from Dart.

Modules in ES6 have nothing to do with Dart, and the work started in 2010, well before Dart ("Dash") leaked. Classes too pre-date Dart, in some ways they go back to JS2/ES4 of the 1999-2003 era, and ES4 of the 2006-8 era.

CoffeeScript owes a lot to Ruby and Python, of course, and I did design-champion fat arrow functions into ES6, inspired in part by CoffeeScript. ES6's for-of loop is responding to the same gravity-well as CoffeeScript's for-of, but it differs in substantial aspects. And so on.

Languages influence one another -- news at 11 -- but Dart did very little intentional uplift work for JS. SIMD is the big and very good exception to this norm. Better late than never, I say. Now is a good time to help get value objects including bignums into ES7.

https://code.google.com/p/dart/issues/detail?id=1533

Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Wednesday March 25, 2015 @06:53PM (#9266599)
> Good for lulz, but this is really uninformed, if not made up from whole cloth.

To be clear, I didn't say that Dart or CoffeeScript associated people actively meant to be a guide for JavaScript (I'm pretty sure that having CoffeeScript and Dart effectively subsumed into JavaScript wasn't the goal), but the fact that these languages existed and has neat features did served as a guide for evolution of JavaScript.

Thus I am making the case of much weaker case of languages influencing each other, rather than a stronger case. And there is massive influence going on here, whether intentional or not -- the speed at which features of Dart and CoffeeScript being pulled into JS is very rapid.

I think your comments actually bare this out -- Dart people helping with SIMD, and you being inspired by CoffeeScript.

Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Wednesday March 25, 2015 @07:19PM (#9266741)
You wrote "influenced a lot of JavaScript standards people." Please name two.

You wrote "The same is actually happening to the unique features of Dart such as typing and SIMD and better modules." My reply: no, yes (thanks to bottom-up work by John McCutchan, not "Dart people" plural -- there you go again), and nope. Any types for ES7/2016 or beyond are likely to be based on TypeScript, Flow, and V8's SoundScript experiment, not on Dart. Modules in ES6 have no relation to Dart modules/packages.

Really, "exaggeration" doesn't being to capture the false overreach of your first comment, and walking back from it to vague "everything's influencing JS" isn't helping.

Apart from SIMD, Google by investing in Dart at cost to JS (recreated V8 team; replace-not-embrace strategy for ~5 years) missed out on uplifting ES6 to have bignums and other things that would materially aid correctness and performance of dart2js, which is now the only way forward for Dart in browsers.

I hate playing Cassandra, but the good news is that Troy didn't fall: JS prevailed, at some unnecessary cost, and as predicted. See https://news.ycombinator.com/item?id=2982949 et seq.

Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Wednesday March 25, 2015 @09:34PM (#9267286)
Weird, I really didn't expect this conversation...

(1) I am referring to the high level features of Dart and CoffeeScript, not the specific implementation of features. Specifically I am referring to the clear reduction in CoffeeScript/Dart positive differentiators over the past few years, mostly because future JavaScript (es6/es7) is moving aggressively to close the gap and then go beyond Dart/CoffeeScript. This is a great thing.

(2) I am a complete outsider to the standardization process - I actually know no one involved in the process. So why did I make the inference then so confidently? I've been doing software product development in competitive industries for a couple decades now. I know how it works. People are always influenced by competitors to push ahead faster and smarter, especially competitors that try to jump ahead.

This comment of mine from two years ago sums up my feelings of Dart and its influence on JavaScript: https://news.ycombinator.com/item?id=5728786

Re:“We have decided not to integrate the Dart VM into Chrome” by tinco on Thursday March 26, 2015 @06:40AM (#9268705)
I think what Brendan is trying to say is that Dart simply had no influence on ES6 and ES7 except for the idea of SIMD. That means no specific implementations, and no high level ideas.

Any resemblance you might find between Dart and ES6/ES7 would be because of Darts resemblance to either CoffeeScript or TypeScript, languages that did in fact influence ES6 and ES7.

My personal view: I don't think Dart is the sort of language Javascript wants to be like at all. Also, totally off topic regarding your comment of 2 years ago: Java has never kept up with C# has always been years behind and still lacks many features that C# has had for ages. The only reason people still use Java is that C# had no enterprise backing on non-Microsoft platforms and its main implementation was proprietary. These things are changing, and I think that will be the end (finally) of Java.

Re:“We have decided not to integrate the Dart VM into Chrome” by tkubacki on Thursday March 26, 2015 @07:10AM (#9268789)
"These things are changing,"

There is still no end to end story for dev on Linux/Mac with MS backed tools (Mono is not .NET).

"and I think that will be the end (finally) of Java."

just day after Google will take C# as main dev lang for Android...

IMHO It's more likely that Dart will become new Android's main lang.

Re:“We have decided not to integrate the Dart VM into Chrome” by RoyOfTheEdge on Friday March 27, 2015 @01:25PM (#9277722)
Actually, MS recently open-sourced the .NET framework (".NET Core") and announced they will be adding support for Linux and Mac OS X: https://github.com/dotnet/corefx

...seriously. April the first is still 5 days away.

Re:“We have decided not to integrate the Dart VM into Chrome” by tkubacki on Monday March 30, 2015 @10:55PM (#9294107)
"Actually, MS recently open-sourced the .NET framework (".NET Core")"

I know that. My point is you go to dartlang.org and get the IDE with SDK with single download for Mac, Linux or Windows and use it now.

With .NET you can't do the same now on non-Windows (you can use Mono but it's not MS project) Dart is designed to do webdev and .NET isn't

Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Thursday March 26, 2015 @05:38AM (#9268553)
A last note, I didn't intend my comment to be interpreted in the hard fashion that you are interpreting it -- how could I given my outsider status?

I apologize for it being open to that interpretation. I do view most of your criticisms to be based on this unintentional straw man interpretation of my points: http://en.wikipedia.org/wiki/Straw_man

Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Thursday March 26, 2015 @07:49AM (#9268879)
I did not make any straw-man arguments. You wrote specific words (I've quoted them) that denote things that I know to be false. You now seem to admit this. Are we done yet?
Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Thursday March 26, 2015 @09:01AM (#9269192)
> You wrote specific words (I've quoted them) that denote things that I know to be false.

You admitted both the influence on you of CoffeeScript (e.g. fat arrow) and also that the Dart SIMD standard guy did the ES7 SIMD standard. Thus at minimum both CoffeeScript and Dart have influenced directly what has ended up in future versions of JavaScript via the JavaScript standards people. So that original claim of mine is true at minimum, only the qualification of the influence being significant/large is at question.

Near equivalent features to those of Dart and CoffeeScript are rapidly being added to future JavaScript, including fat arrow, typing, classes, SIMD, Futures, async/await, etc. Whether or not these features are directly based on Dart or not doesn't change the fact that it is happening. So that original claim of mine is also true.

E.g.: https://robots.thoughtbot.com/replace-coffeescript-with-es6

The intensity of this argument about an admittedly overly vague hacker news comment is surreal.

While I respect your work highly, benefit from it significantly, and it wasn't my intention to diminish your contributions or effort or anything else, I can not continue this.

Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Thursday March 26, 2015 @09:27AM (#9269355)
Your original claims, plural, included "typing" which cited ES7 TypedObjects (yet TypedObjects are not "typing" as you used the term: a type system, whether optional or tool-checked), and modules. Both of those assertions are flat wrong.

Again, modules in ES6 started before Dart ("Dash") leaked.

Your original comment said "Thank you Dart for showing us the way." Happy-clappy nonsense!

Why am I on the warpath?

First, sloppy history retelling -- even if just fannish exaggeration -- is bad in itself.

Second, and I've gone on the record about this since 2011, Google chose the wrong "REPLACE JS BECAUSE IT CANNOT BE FIXED" strategy, and wasted years and megabucks. Their choice, but not something to congratulate them over. We could have had even more in ES6 if the V8 team had not been reset and JS back-benched as it was. That cost years.

Third, the meme you're spreading is that JS is incompetent or severely hobbled without being shown the way by enlightened others. This does a disservice to many people including the V8 team (the new team) members working in earnest on JS via implementations and TC39. It's a particular falsehood to which I object as a peer of those people on TC39.

Dart as an intentionally designed, full-time-job-for-60+-people, good and well-done project at Google, creating useful and coherent tools as well as the language itself? A fine thing in isolation, ignoring the actual history, global strategy, and consequent trade-offs.

Dart as the thing that showed JS the way (same for CoffeeScript, but let's defer that and focus on Dart)? A fraudulent claim that covers up real mistakes in strategy made by Google, which cost big time and money, not just for JS and the Web, but bad also (in light of this week's news) for Dart.

Why was the strategy bad for Dart? One example: only now, finally, might bignums get into ES7/2016. They could have been in ES6 and in V8 and other engines by now, since we were working on them since 2010, but without a champion who saw the priority and paid someone to spec and implement them in V8.

Do you see my point? Please do not play games about me "admitting" SIMD and maybe one other something else came from Dart. I've written that many times in multiple threads without prodding, on HN and on twitter. This is not an ego match. It's about accurate attribution of history, work, influence, and causality.

Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Thursday March 26, 2015 @10:08AM (#9269681)
What you are letting a hacker news comment thread determine the history of JavaScript? This isn't how history is written - HN posts are emphera for the most part. Last time I checked you were not exactly powerless and reliant on others to write history for you. You have a megaphone, why not use it and write something authoritative on the history of JavaScript and Dart.

Also, you do realize that I wrote this to a Dart audience to encourage them to return to JavaScript -- and you do not convince anyone to change their minds by being an asshole towards their work.

Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Thursday March 26, 2015 @10:20AM (#9269767)
It's HN, I'm here same as you, to opine and argue. Why are you applying a double standard? :-P
Re:“We have decided not to integrate the Dart VM into Chrome” by vidarh on Thursday March 26, 2015 @06:22AM (#9268670)
Note that what Brendan Eich is saying is that the influence couldn't have happened that way because the work on a lot of the features in question for ES6 started before Dart was available. You can't be retroactively influenced.
Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Thursday March 26, 2015 @09:03AM (#9269203)
But he is basically saying he wasn't influenced except in the places he was influenced like the CoffeeScript fat arrow and the Dart SIMD stuff in ES7. This is an argument about degrees of influence, not whether or not he was influenced (as he admitted that.) This is not a winnable argument by anyone, I have to move on.
Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Thursday March 26, 2015 @09:46AM (#9269506)
See my reply above. You've changed from multiple false claims of influence, so ginned up to a high degree of influence that you concluded with a fulsome "Thank you Dart for showing us the way!", to "any influence at all", and "don't hassle me about differences of degree of influence!"

So, really sloppy original comment with multiple false claims. Should I just put up with that as part of HN's descent to /. quality? :-(

/be

Re:“We have decided not to integrate the Dart VM into Chrome” by michaelwww on Wednesday March 25, 2015 @08:40PM (#9267067)
John McCutchan caught my attention early on and my hat goes off to him. He brought a unique perspective to advancing performance. I went from Dart to TypeScript to pure JavaScript for a variety of reasons, and I must say productivity in Dart is higher, sometimes much higher. However the Dart2js output and interface makes it less attractive despite higher productivity. I took from the announcement that Google will focus on fixing that, which is encouraging. It's really the only way forward for Dart, since no one else, and now Chrome, is going to include the VM.
Re:“We have decided not to integrate the Dart VM into Chrome” by munificent on Wednesday March 25, 2015 @10:01PM (#9267389)
> I took from the announcement that Google will focus on fixing that, which is encouraging.

That's exactly right. We have a bunch of people working feverishly on more human-friendly JS output:

https://github.com/dart-lang/dev_compiler

Re:“We have decided not to integrate the Dart VM into Chrome” by tosh on Wednesday March 25, 2015 @07:02PM (#9266651)
Looking fwd to see bignum support in ES7 fingerscrossed
Re:“We have decided not to integrate the Dart VM into Chrome” by coldtea on Wednesday March 25, 2015 @11:58PM (#9267746)
Doing astronomy work in JS?
Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Thursday March 26, 2015 @06:29AM (#9268689)
Very useful for spreadsheets and other financial calculations as well I believe, as well as some forms of custom Crypto.
Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Thursday March 26, 2015 @08:03AM (#9268934)
Definitely (and I'm happy to write a friendlier comment reply, believe me!).

Bignums are good, in Dart as in other languages. On the agenda for "Harmony-era" ECMAScript, going back to 2009:

http://wiki.ecmascript.org/doku.php?id=strawman:bignums

More recent work generalizes value types into an extension mechanism for JS, so you can have built-in and user-defined numeric types with operators and literals.

Re:“We have decided not to integrate the Dart VM into Chrome” by coldtea on Friday March 27, 2015 @12:33AM (#9274776)
Aren't decimals better suited for financial applications? That's what I've used in the past in Java land (BigDecimal).

Or are bignums and decimals the same thing? (not sure).

Re:“We have decided not to integrate the Dart VM into Chrome” by dragonwriter on Friday March 27, 2015 @12:40AM (#9274791)
Bignums are closely related to arbitrary precision decimals (aka BigDecimals; "decimal" without more is somewhat ambiguous since sometimes those are fixed size or decimal floating point.)

Most financial applications deal with currencies each of which had a smallest indivisible unit in the application, which makes bignums most appropriate. But bigdecimals (or even arbitrary precision rationals) may be preferred in certain financial applications.

Re:“We have decided not to integrate the Dart VM into Chrome” by tkubacki on Thursday March 26, 2015 @02:30AM (#9268102)
Without bignum it's hard to implement Decimal
Re:“We have decided not to integrate the Dart VM into Chrome” by sethladd on Wednesday March 25, 2015 @02:19PM (#9264860)
Dart is much more full-featured than CoffeeScript. Dart is a completely new language, with much improved semantics. Dart has features such as method cascades, mixins, async/await, optional types, a rich core library, factory constructors, libraries, named parameters, lexical this, Futures, implicit interfaces, generics, and lots more.

[disclaimer: I'm on the Dart team]

Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Wednesday March 25, 2015 @02:28PM (#9264925)
I am not saying Dart and CoffeeScript are comparable in terms of features -- not at all, rather I am saying that both Dart and CoffeeScript have served similar purposes in showing where the JavaScript language can evolve towards in the future.
Re:“We have decided not to integrate the Dart VM into Chrome” by kybernetikos on Thursday March 26, 2015 @05:16AM (#9268501)
On the other hand, persuing the strategy that Google did with Dart distracted people and effort from the important task of actually improving javascript, so it may well have been a net negative.
Re:“We have decided not to integrate the Dart VM into Chrome” by nathan_long on Friday March 27, 2015 @06:11AM (#9275412)
If they'd succeeded in replacing it, there would have been no need to fix it. It's a big task, but I wish they'd succeeded and hope they (and/or others) try again.

Whether you like JS or don't, I think we can all agree that it stinks to have only one choice for client-side scripting.

Re:“We have decided not to integrate the Dart VM into Chrome” by nailer on Wednesday March 25, 2015 @02:43PM (#9265041)
ES7 has async/await. Coffee script has a tighter syntax despite being older than Dart. Typescript has optional types and is being used at both Microsoft and Google. Also: you don't think JS has libraries and mixins?
Re:“We have decided not to integrate the Dart VM into Chrome” by skybrian on Wednesday March 25, 2015 @03:20PM (#9265274)
How about: "ES7 will most likely have async/await when it's finished."

Sorry, using the present tense for things that will be in browsers years later (hopefully) is a common practice that's an issue with me. Let's stick with what people can actually use today.

Also, pointing to features people can use in different dialects of JavaScript is not really fair. Just about everything you can think of has been experimented with and probably deployed somewhere. It doesn't count unless it's all available in the same toolchain and can be used in a unified way while writing a single app.

Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Wednesday March 25, 2015 @03:35PM (#9265372)
> Sorry, using the present tense for things that will be in browsers years later (hopefully) is a common practice that's an issue with me. Let's stick with what people can actually use today.

ES7 async/wait is available now via the ES7 polyfill Babel.js: http://babeljs.io/

There are a ton of polyfills available right now for ES6/ES7 features: http://kangax.github.io/compat-table/es7/

BTW I also think that the current state of aggressive polyfills is also influenced by Dart's compile to JS functionality. :)

Re:“We have decided not to integrate the Dart VM into Chrome” by skybrian on Wednesday March 25, 2015 @04:28PM (#9265701)
Comparing Babel.js to dart2js is fair. I'd be interested in hearing more about about how well it works in practice from people who use Babel.js for large apps. (Also, how does it compare to Typescript?)
Re:“We have decided not to integrate the Dart VM into Chrome” by spellboots on Wednesday March 25, 2015 @08:41PM (#9267069)
Anyone creating a new Ember.js application today is using babel by default. It works very well in my experience. I haven't used typescript however.
Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Wednesday March 25, 2015 @08:54PM (#9267123)
I think with time Typescript and Babel.js are to be merged, if you through in Strong Script to the mix I guess you have the future of JavaScript.
Re:“We have decided not to integrate the Dart VM into Chrome” by have_humility on Wednesday March 25, 2015 @03:28PM (#9265319)
> Sorry, using the present tense for things that will be in browsers years later (hopefully) is a common practice that's an issue with me. Let's stick with what people can actually use today.

If that's the metric we're applying, Dart fares no better...

Re:“We have decided not to integrate the Dart VM into Chrome” by spankalee on Wednesday March 25, 2015 @03:39PM (#9265401)
How so? You can use Dart today and yesterday and tomorrow.
Re:“We have decided not to integrate the Dart VM into Chrome” by spankalee on Wednesday March 25, 2015 @06:34PM (#9266479)
wycats: IE 10 and up, Safari 6 and up, Chrome, FF, Opera, last 2 versions.
Re:“We have decided not to integrate the Dart VM into Chrome” by wycats on Wednesday March 25, 2015 @06:21PM (#9266414)
In what browser?
Re:“We have decided not to integrate the Dart VM into Chrome” by wstrange on Wednesday March 25, 2015 @06:33PM (#9266472)
Chrome, Firefox, Safari and even IE!

All via dart2js

Re:“We have decided not to integrate the Dart VM into Chrome” by nailer on Wednesday March 25, 2015 @08:21PM (#9266994)
Sure but you can also use es7 today (which I did).
Re:“We have decided not to integrate the Dart VM into Chrome” by axlprose on Thursday March 26, 2015 @12:52AM (#9267882)
Yes, and even compared to ES7, Dart still fares rather well. Most people that doubt this seem to not have actually tried the Dart workflow and core libraries. The productivity gain from those two features alone makes it compelling against all other compile-to-js options, because what it brings to the table isn't just a fancy language with nicer syntax+semantics.
Re:“We have decided not to integrate the Dart VM into Chrome” by nailer on Thursday March 26, 2015 @04:39AM (#9268391)
The dart std lib, at least the DOM manipulation bits, are indeed nice.

OTOH: JS has the largest module system of any programming language ever, which also tends to make it pretty productive.

Re:“We have decided not to integrate the Dart VM into Chrome” by kyllo on Wednesday March 25, 2015 @03:30PM (#9265335)
Typescript has optical types

What are optical types? I've never heard of this term and Google turned up nothing on it.

Re:“We have decided not to integrate the Dart VM into Chrome” by untog on Wednesday March 25, 2015 @03:33PM (#9265347)
100% sure it's a typo of "optional types".
Re:“We have decided not to integrate the Dart VM into Chrome” by hibbelig on Wednesday March 25, 2015 @04:23PM (#9265675)
How boring :-) I'd love to look forward to a language with optical types. I'm sure it's at least as interesting as operand overloading in Intercal.
Re:“We have decided not to integrate the Dart VM into Chrome” by hmsimha on Wednesday March 25, 2015 @05:10PM (#9265938)
Optical typing must be like duck typing taken to the extreme. If it looks like a duck then it's a duck, dammit!
Re:“We have decided not to integrate the Dart VM into Chrome” by girvo on Wednesday March 25, 2015 @08:28PM (#9267023)
Type coercion taken way too far ;)
Re:“We have decided not to integrate the Dart VM into Chrome” by kyllo on Wednesday March 25, 2015 @04:48PM (#9265821)
I was imagining something like Lens in Haskell :)
Re:“We have decided not to integrate the Dart VM into Chrome” by DonHopkins on Wednesday March 25, 2015 @08:47PM (#9267093)
Optical types are when they shave the bushy hair off of the type system, and it looks an inch longer.

https://www.youtube.com/watch?v=NsbXwzqlqsU

Re:“We have decided not to integrate the Dart VM into Chrome” by moron4hire on Wednesday March 25, 2015 @06:05PM (#9266290)
The types aren't optional. The types are always there. The type annotations are optional.
Re:“We have decided not to integrate the Dart VM into Chrome” by tosh on Wednesday March 25, 2015 @02:24PM (#9264899)
I also think it is great to see innovation from compile-to-JS languages to tickle down to JavaScript over time. This is awesome for JavaScript as well as for the compile-to-JS languages.

That said, there is a glass ceiling of how far you can go with iteratively improving JavaScript.

I'm glad that there are more ambitious languages like Dart that are designed from scratch by people with amazing background in language design & runtimes.

Having worked with Dart now over many months at Blossom (https://www.blossom.co) I can't imagine going back to writing JavaScript (not even ES.next++). Dart is conceptually much simpler. I really encourage you to give it a try.

Dart gives you a consistent and simple platform (stdlib, packages, tooling, …) to build upon that works well 'today'. It is easy to pick up and be productive in (compared to JS and all the things you have to train people on about its ecosystem).

With this new direction I expect the interop story with JavaScript to improve further as well.

Re:“We have decided not to integrate the Dart VM into Chrome” by sredna on Wednesday March 25, 2015 @09:52PM (#9267347)
Can't agree more.

When a new language is created, its feature set is a product of the times it is created in. i.e. what features are considered useful, popular, best practice etc. Of course times change and with it what this set of desirable features is. Languages evolve by adding support for some of these new features. But adding these new features whilst preserving the old becomes increasingly difficult and the new features tend to be somewhat hobbled and don't fit that well with the older features. For the first 10 years or so this tends to be ok but when languages get to the 10 - 20 year mark they start looking increasingly like frankensteins monster - a mixture of parts from different places / eras, none of which work terribly well and which don't fit that well with others. At some point IMO it's worth jumping to a new language despite the smaller community and package availability. But it's often only when you do try it for a while when you realise how much better the dev experience is compared to the frankenstein languages which have on paper adopted similar features. To me this is where Java, JavaScript, Python etc are now. On paper they can claim many of the features now that Dart has but the experience using them is not that of using those features in Dart. 

I can't imagine there are many decent developers who if they really give dart a proper go, wouldn't much prefer to work with it than JavaScript.

Re:“We have decided not to integrate the Dart VM into Chrome” by WhitneyLand on Wednesday March 25, 2015 @07:14PM (#9266708)
False comparison to ES.Next. Once you accept cross compiling as a premise for Dart the comparison is to every other innovative/productive language out there.
Re:“We have decided not to integrate the Dart VM into Chrome” by alwillis on Wednesday March 25, 2015 @02:33PM (#9264964)
This is only about the Dart VM, not about the Dart language. Everything that’s great about the Dart language is still great, including all of its advantages compared to Javascript, perhaps the single biggest one being Dart’s sane and logical syntax compared to JavaScript’s.

Just because JavaScript is the de facto runtime of the web doesn’t mean we all have to develop in it. I’d much rather write in Dart (or CoffeeScript, TypeScript or whatever) than JavaScript—and then only I have to.

Re:“We have decided not to integrate the Dart VM into Chrome” by frowaway001 on Wednesday March 25, 2015 @03:08PM (#9265212)
> This is only about the Dart VM, not about the Dart language.

The writing is on the wall already. If Dart hasn't the chance to become a natively supported language, why would anyone pick it as a compile-to-JavaScript language, given there are so many superior options?

Re:“We have decided not to integrate the Dart VM into Chrome” by dragonwriter on Wednesday March 25, 2015 @05:33PM (#9266083)
> If Dart hasn't the chance to become a natively supported language, why would anyone pick it as a compile-to-JavaScript language, given there are so many superior options?

I don't think that the premise ("given there are so many superior options") is a non-controversial assertion. Which is probably why people who reject it would (and have been) picking it as a compile-to-JS language for web-facing projects.

The focus on compile-to-JS and JS interop for the web announced in the blog post makes Dart a more, rather than less, attractive language for web development, because it eases fears that taking full advantage of Dart might, in the near future, mean "works better on Chrome" rather than "targets the whole web", and because it means that Dart will work better with the universe of browser-targeted tools that aren't all written in Dart.

Re:“We have decided not to integrate the Dart VM into Chrome” by ahoge on Wednesday March 25, 2015 @03:17PM (#9265262)
Dart is natively supported outside browsers. There is the standalone VM, which you can use just like Node.js, and the VM library, which you can embed in native applications.

The VM is crossplatform and it even supports ARM and MIPS.

They are also working on an interpreter which will get around the JIT restrictions on iOS and Windows Phone.

Re:“We have decided not to integrate the Dart VM into Chrome” by frowaway001 on Wednesday March 25, 2015 @04:07PM (#9265569)
So why would I use this given there are languages which

  - are much better than Dart,
  - run in the browser and
  - run on a crossplatform VM which is much better than DartVM?
Re:“We have decided not to integrate the Dart VM into Chrome” by munificent on Wednesday March 25, 2015 @04:20PM (#9265653)
I think the obvious answer is that some people disagree with your first point. I think people should be programming in whatever language makes them happiest. For you that may not be Dart. For others, it is.
Re:“We have decided not to integrate the Dart VM into Chrome” by ahoge on Wednesday March 25, 2015 @05:40PM (#9266132)
For me, it is.

Well, its semi-useless enums suck, but other than that I'm quite happy with it.

Re:“We have decided not to integrate the Dart VM into Chrome” by alwillis on Thursday March 26, 2015 @06:49AM (#9268725)
Nobody on this thread agrees with you that there are "so many superior options".

As far as I can tell, the Dart team set out to create a clean slate approach to what web developers need in a language (front-end and on the server) to address today's complexities. What the Dart team couldn't foresee how many developers would come down with Stockholm syndrome regarding JavaScript.

What people don’t get: adding more crap to JavaScript doesn’t make things easier, it makes things more complex. Think about it: the entire web is depending on a language that was thrown together in like 10 days and renamed from LiveScript to it would contain the word 'Java' because Java was the new hotness back in the day even though it had nothing to do with Jsva.

And now we’re going to add all of the stuff we didn't think about back then when JavaScript was considered a weird, fringe toy language, when the most complex thing anyone did was image rollovers.

JavaScript didn't "win" because it was great; it won because it good enough and we were literally stuck with it.

Not everyone wants good enough; some people want an excellent, purpose built language for the web with all of the goodies we’ve come to expect on Day 1--no polyfills, no hacks, no waiting for a years long standards process to run its course.

I’m looking forward to the Dart conference next month to see what’s next: https://www.dartlang.org/events/2015/summit/.

Re:“We have decided not to integrate the Dart VM into Chrome” by frowaway001 on Saturday March 28, 2015 @04:40AM (#9280844)
> Not everyone wants good enough; some people want an excellent, purpose built language for the web with all of the goodies we’ve come to expect on Day 1--no polyfills, no hacks, no waiting for a years long standards process to run its course.

Yes, absolutely; and Dart just doesn't fit that bill.

Re:“We have decided not to integrate the Dart VM into Chrome” by spankalee on Wednesday March 25, 2015 @03:22PM (#9265284)
I find Dart to be far and away the best compile-to-JS language. That's more than enough for me.
Re:“We have decided not to integrate the Dart VM into Chrome” by frowaway001 on Wednesday March 25, 2015 @03:24PM (#9265292)
Sounds more like you never actually checked the available options.
Re:“We have decided not to integrate the Dart VM into Chrome” by untog on Wednesday March 25, 2015 @03:39PM (#9265398)
Sounds more like he has an individual opinion about the things that work best for him.
Re:“We have decided not to integrate the Dart VM into Chrome” by rdtsc on Wednesday March 25, 2015 @05:35PM (#9266097)
> given there are so many superior options?

If there are so many, can you list at least 5 superior options for us please.

Re:“We have decided not to integrate the Dart VM into Chrome” by hydrogen18 on Wednesday March 25, 2015 @03:11PM (#9265231)
What do you find superior to Dart?
Re:“We have decided not to integrate the Dart VM into Chrome” by frowaway001 on Wednesday March 25, 2015 @03:18PM (#9265265)
Scala.js, Elm, PureScript, ...
Re:“We have decided not to integrate the Dart VM into Chrome” by skybrian on Wednesday March 25, 2015 @03:29PM (#9265322)
I'm a big fan of Elm but it's still experimental. Major non-backward-compatible changes to the languages still happen sometimes in new releases. Not the same thing, really.

(Don't know that much about the others.)

Re:“We have decided not to integrate the Dart VM into Chrome” by frowaway001 on Wednesday March 25, 2015 @04:05PM (#9265555)
Then pick Scala.js.

Solid, mature, great libraries and one of the best languages out there, even when competing against real (in the sense of not compile-to-JavaScript-only) languages.

Re:“We have decided not to integrate the Dart VM into Chrome” by EugeneOZ on Wednesday March 25, 2015 @04:40PM (#9265780)
People are different and not all thinks Scala is great language...
Re:“We have decided not to integrate the Dart VM into Chrome” by skybrian on Wednesday March 25, 2015 @04:35PM (#9265742)
I'm unlikely to give it a serious try because I find the complexity of the Scala language to be pretty scary. Still, I'm curious: how fast is the compiler? Does it generate compact code? Clear error messages?
Re:“We have decided not to integrate the Dart VM into Chrome” by DennisP on Wednesday March 25, 2015 @05:21PM (#9266014)
I started using Scala a few weeks ago. I'm finding it's pretty easy to ease yourself into it. So far I'm not doing much that I couldn't do in C#, but it's more concise in Scala. I was productive with it the first day.

I haven't tried scala.js yet, but I've gone through some presentation slides...they're claiming compact code that runs as fast as javascript, clear error messages that point to the line of scala sourcecode, and even some advantages over jvm scala (though I forget the details). Don't know about compile speed.

Re:“We have decided not to integrate the Dart VM into Chrome” by frowaway001 on Wednesday March 25, 2015 @07:41PM (#9266833)
Compilation to JS is a few additional seconds during development, and the rest of your comment is right to the point.
Re:“We have decided not to integrate the Dart VM into Chrome” by jbergens on Wednesday March 25, 2015 @07:11PM (#9266695)
Aren't those, with the exception of Elm, much younger and less mature than Dart? I think a language has to reach a certain level before the majority of people will use it in production. And the tooling should be stable also. I think PureScript looks great but it has a different syntax (Haskell like) which may make it a hard sell and I'm not sure they have any debugger at all. When you use a compile-to-js language I think the debugger and editors are important, at least if your language is not very close to js (which Dart is).
Re:“We have decided not to integrate the Dart VM into Chrome” by tobltobs on Wednesday March 25, 2015 @04:42PM (#9265795)
Whoo, seems I am getting old. Thats the first time I hear anything of those languages.
Re:“We have decided not to integrate the Dart VM into Chrome” by ggchappell on Wednesday March 25, 2015 @04:57PM (#9265864)
> My only worry is that the innovators behind Dart are going to be stuck on the Dart project while JavaScript gains their features and even more momentum. I would suggest that they let Dart die and not be stuck with it for years after it has stopped being relevant -- that would be a waste of their talents as they did really see what the future would be.

I am somewhat sympathetic to what you are saying here. OTOH, the fact that the web is basically all one programming language[1] is a situation that I find a bit unfortunate. Why shouldn't the browser have a PL ecosystem as rich as the desktop? And why couldn't Dart be part of that?

[1] Yes, I know the world is full of compile-to-JS languages. But still, being a web developer today mostly means being a JS developer.

Re:“We have decided not to integrate the Dart VM into Chrome” by hmsimha on Wednesday March 25, 2015 @05:05PM (#9265910)
I know absolute fuck-all about dart, but I do know that a programming language is just a tool. At the end of the day, a good programmer should be able to learn to use the best tool for the job, even if that tool resembles a swiss army knife.

It's apparent that Javascript has taken cues from nearly every other modern programming language at this point. The leaps and bounds being made with ES6 and ES7 are simply astounding. Of course, I have no problem seeing the development of languages like Dart, Coffeescript, and Typescript that compile to javascript, but I think there's an argument to be made for the reduced need of these. The development effort being poured into them has shaped javascript, but I think what many people are realizing is that the focus doesn't need to be on creating new languages that compile to Javascript, when it can be on advancing Javascript even further.

Re:“We have decided not to integrate the Dart VM into Chrome” by Retra on Thursday March 26, 2015 @02:08AM (#9268062)
>I do know that a programming language is just a tool.

I'm probably going to sound very negative in saying this, but I _really_ hate it when people pull this line out like it means anything. Only in the most narrow, trite sense is a programming language "just a tool." They are the whole reason programmers exist. Language is the single most important development in human history, and computers have touched human life in irreversible and undeniably important ways.

Everything is just a tool, if you look at it the right way, and it takes a particular kind of pointlessness to opt to see the world like that.

Language is the thing that makes the genie grant your wish. If you wish with the wrong words, you get a billion dollar tombstone.

Re:“We have decided not to integrate the Dart VM into Chrome” by xixixao on Wednesday March 25, 2015 @07:10PM (#9266691)
I just wonder, relatively, how big is the part of the ES6/7 driving community which were the people who hated on CoffeeScript because it required a compilation step (and now they love BabelJS). There will be things which you will always hate about JavaScript, visible, on the surface, and that will never go away. Compiled-to-js languages can hide these. This has been the best part of CoffeeScript, where it really shined, and this will carry over future compiled-to-js languages (PureScript, Elm etc.).

Unless it turns out that JS+Flow is actually the best balance between flexibility and safety and the world will reach "singularity".

Re:“We have decided not to integrate the Dart VM into Chrome” by wycats on Thursday March 26, 2015 @08:22AM (#9268993)
I don't remember much of an objection to CoffeeScript on the grounds that it requires a compilation step.

For example, here was my statement advising Discourse to avoid CoffeeScript in 2013: https://meta.discourse.org/t/is-it-better-for-discourse-to-u...

Re:“We have decided not to integrate the Dart VM into Chrome” by glesica on Wednesday March 25, 2015 @05:32PM (#9266071)
> but I do know that a programming language is just a tool.

So I take it you write all your *nix programs in C?

Re:“We have decided not to integrate the Dart VM into Chrome” by bandrami on Thursday March 26, 2015 @02:27AM (#9268098)
> So I take it you write all your *nix programs in C?

That's the only sane answer if you have any intention of redistributing them.

Re:“We have decided not to integrate the Dart VM into Chrome” by oswego on Wednesday March 25, 2015 @05:55PM (#9266227)
> a good programmer should be able to learn to use the best tool for the job...

So you think JavaScript is the best tool for the job? I don't think so.

Re:“We have decided not to integrate the Dart VM into Chrome” by kevingadd on Wednesday March 25, 2015 @04:07PM (#9265570)
I'm not sure you can argue that Dart is where these features are coming from. SIMD and known type shapes are both very old features that people have been demanding for years. If you follow es-discuss the language you see referenced the most (other than academic ones like E) is C#, by far. The Typed Objects proposal dates back to 2013, possibly earlier, and it's a feature people have wanted for longer than that (ES4 arguably addressed it.) Dart certainly helped influence the SIMD proposal, however, and that's great - it seems like that might have languished for years otherwise.

Regardless, Dart is a great proof-of-concept for strong typing in a browser environment and I'm sure it helped renew faith in it after the disastrous results of the ES4 effort.

I would be interested in seeing Dart's approach to typing attempted as a layer on top of JS. Sort of a 'stronger' TypeScript where the compile pass enforces the kinds of type guarantees Dart provides, perhaps.

Re:“We have decided not to integrate the Dart VM into Chrome” by paulirish on Wednesday March 25, 2015 @07:50PM (#9266867)
To be fair, SIMD in JS was kicked off by John Mccutchan who was on Dart and soon after joined Dart VM team. While there was appetite for SIMD in JS (Brendan, in particular, was a big proponent of John's proposal), I think it wouldn't have happened when it did without Dart and his work.
Re:“We have decided not to integrate the Dart VM into Chrome” by BrendanEich on Wednesday March 25, 2015 @08:55PM (#9267130)
Confirming what Paul writes here. John tweeted, I tweeted back, here:

https://twitter.com/BrendanEich/status/308343704194781186

SIMD is in all the SoCs of course, which means it has been on JS stewards' radar for a while now (remember River Trail? see my blog post, which had early Dart humor and Dash-memo reaction: https://brendaneich.com/2011/09/capitoljs-rivertrail/).

I worked at MicroUnity from 1992-5 on many high-risk things including a new CPU that was designed to do extensive SIMD and bit-moving instructions; using these in an instruction-level simulator, I implemented 64-QAM demod and Reed-Solomon error correction for the cable-net of the day (TCL, remember them?). Alas the CPU design was unrealizable in hardware.

SIMD has been around quite a while in hardware, so as KGadd says intrinsics for it have shown up in major languages. It was only a matter of time and the right person for JS, and John McCutchan did the job. Thanks, John!

Google funded John's work for Dart and didn't keep him from doing JS uplift, so thanks to Google too.

Re:“We have decided not to integrate the Dart VM into Chrome” by skybrian on Wednesday March 25, 2015 @02:19PM (#9264855)
There is certainly influence in many directions. For example, some of the GWT and Dart compiler folks were inspired to do better by a presentation at Google about TypeScript, and ideas from AtScript were picked up by TypeScript.

"Just stop what you're doing" isn't helpful. People need to write code today, and we have solutions for them.

Re:“We have decided not to integrate the Dart VM into Chrome” by bhouston on Wednesday March 25, 2015 @02:25PM (#9264906)
> "Just stop what you're doing" isn't helpful. People need to write code today, and we have solutions for them.

There is a difference between having innovators on a project versus maintainers.

Re:“We have decided not to integrate the Dart VM into Chrome” by skybrian on Wednesday March 25, 2015 @03:08PM (#9265213)
Less than you'd think. Starting from scratch is easy at first since you have no users and freedom to do what you like. Maintaining a popular project well requires more creativity in some ways because design constraints built up over time.

Improving the web, in particular, requires that people think like maintainers and innovators.

Re:“We have decided not to integrate the Dart VM into Chrome” by wrsh07 on Wednesday March 25, 2015 @02:55PM (#9265124)
I definitely agree that the impact of dart on ES6+ is perhaps the best reason for its existence; however, I don't think it has outlived its usefulness yet.

That said, I also hope that they reevaluate their position in the world in a couple of years once Javascript has advanced down the road blazed by eg Dart and CoffeeScript.

[also, Dart can just be thought of as an abstraction for the language of JS, and what problem can't be solved by just another layer of abstraction? :P ]

Re:“We have decided not to integrate the Dart VM into Chrome” by rjbwork on Wednesday March 25, 2015 @03:01PM (#9265165)
>what problem can't be solved by just another layer of abstraction? :P

Too many layers of abstraction. :P

Re:“We have decided not to integrate the Dart VM into Chrome” by cpeterso on Wednesday March 25, 2015 @05:03PM (#9265900)
> Too many layers of abstraction. :P

Not necessarily! That next abstraction may enable you to simplify your implementation, carving out lower layers of abstraction cruft.