Hacker News new | ask | show | jobs
by themihai 3623 days ago
A Dart-like language designed with WASM as target will make sense now but I think Dart(as it is now)is already doomed to die. The performance promissed is just not there.
3 comments

Javascript compiled from Dart is as fast as normal Js, in some cases faster. And in the server it outperforms Node according to the Techempower benchmarks. https://www.techempower.com/benchmarks/
In some cases is slower. Last time I've checked large apps were freezing on safari. The point is that it's not signifiantly faster than js so I think it's safe to say that it failed its main objective.
Dart's main objective has never been to be faster than js. Dart's goal was to make a modern, 'sane' language.
Dart was only created to be faster than JavaScript. Here's the leaked memo about why it was created: https://gist.github.com/paulmillr/1208618

tldr; JavaScript has "baggage" and can't be made any faster than it currently is, need a different VM + language with types.

Btw, the Dart creators are compiler engineers, not language designers. It explains a bit about why it has failed to catch on.

I think this[0] summarises the main objective of Dart. Having said that I fail to see how it succeeded. Maybe it helped JavaScript evolve a bit but IOS development experience and performance is still vastly superior to Dart/JavaScript/Web.

[0] `The emergence of compelling alternative platforms like iOS has meant that the web platform must compete on its merits, not just its reach. Javascript as it exists today will likely not be a viable solution long-term. `

Lars Bak made V8, and both Kasper Lund and Lars Bak contributed the HotSpot VM. And if you don't consider Gilad Bracha (Who works on the Dart Language Specification) to be a language designer, you probably don't have a clue what he has done.
> not language designers

They designed a language. Is there some other qualification for being a language designer?

How is that? As far as I can remember performance was always the main reason. The main contributor previously worked on hotspot. It was argued that javascript hit the limits on performance and you need a clean slate, especially due the low power of the mobile devices. "Batteries included" and fixing the javascript syntatic issues was presented as secondary objective. This might have been changed after the VM was dropped from the project. Dart was supposed to be a response to native apps which failed miserably. It's a well design ecosystem for sure but it can't even compete with javascript, let alone native apps.
This is the original dart language announcement: http://googlecode.blogspot.co.uk/2011/10/dart-language-for-s....
You are right. Perhaps I heard only I wanted to hear. Anyway here is a talk about performance so definitely it was marketed as a high performance language for the web too. https://www.infoq.com/presentations/Performance-V8-Dart
The keyword you are looking for is Dartium (Chrome with Dart support compiled), and if you are benchmarking a Dart app in Dartium vs. a JS app in any of the browsers, chances are the Dartium app will be faster. The technical goal was achieved, the political support lacked.
Even with Dartium it didn't reach a speed close to native. I don't doubt that if more effort would be put in the VM the perf could get better but as it is now Dartium is no longer an option.
There is nothing in dart that would freeze it on safari, except that large app are slow on safari, regardless of dart. Btw. the linked benchmarks are server-side.
I think the performance is there, it's just gained from JS VM optimizations instead of an alternative VM in the browser. The advantage is that it gets the benefit on all browsers (even those that would never add a Dart VM) and all other xxxToJS languages get the benefit as well. Dart has enough other advantages so being on par with others on performance doesn't mean Dart has to die.
Maybe won't die but it won't thrive either. I guess it's the new GWT. Not a bad thing but it won't disrupt the web development for sure.
I have not followed WASM that closely, but I believe they are talking about adding DOM integration and other features to support languages like Dart.

It will probably not happen quickly - but in the meantime, dart2js does an admirable job.