Great seeing the improvements. I was initially a big skeptic of asm.js, but for high performance c-translated code, it seems good enough now. A 1.5x hit is a concern, but we've been paying these hits on the JVM and other languages for years.
I'm still sad there's no SMP/multithreading yet, but SharedArrayBuffer looks promising. The only thing missing is the fact that for GC'ed languages there's no efficient translation yet (e.g. Java/GWT).
You have a very fast GC'd language right there already, if you don't mind writing javascript. I know it has won me over the years, once you know the pitfalls to avoid.
A platform smelling bad is not a boolean flag. Almost every platform smells less than the web as far as actually using it goes; the web is just ubiquitous and frictionless as far as deployment.
"You want it (the browser) to be a mini-operating system, and the people who did the browser mistook it as an application. They flunked Operating Systems 101." -- Alan Kay
Yeah, and it's unreasonable anger. The browser is flawed in many ways, but it's awesome that we have this universal platform and we should cherish it, rather than moaning about how something "better" should have won.
> we should cherish it, rather than moaning about how something "better" should have won.
There are certainly incentives for which that may be true. There is also the impending, monumental investment of effort into what is necessarily only a local maximum.
The point is, now that we've taken something that was originally intended for viewing documents over the network and turned it haphazardly into something we realized that we actually wanted (running applications portably and with frictionless installation), we'd better design something from scratch that does what we want without all the unbearable cruft that comes with browsers, HTML and HTTP.
There is absolutely no reason they (I) can't complain about the effort going into browsers that could be going into a better solution, and still take advantage of the browser at the same time.
If nobody complains about the status quo even when it's awesome, we'll never move out of the current local maximum.
I'm not against complaining, but people often forget that the web is incrementally updating, today's web is different than 2014's web, and different than 2013's web, and absolutely different than 2003's web.
The fact that there aren't perfect conditions today doesn't mean that the conditions won't improve tomorrow.
Experiments are rarely a waste of effort just because they don't turn into something bigger; Focus on what we can have, not what we might have had.
Reinventing the wheel for "minor" issues (or just for fun!) is what gave us Linux, LLVM+Clang, Go/Rust/Nim/etc., Newton's laws, Relativity, etc. Incremental changes are not the only way, nor always the best way, to make progress.
>There are a lot of people who are very angry about this.
Could "woah" or someone else explain this to me? (And please don't make a snarky response, this is a sincere question from a someone who is ignorant of the dynamic at work here.)
The browser, JS, etc. have various flaws and forms of cruft accumulated over the years, and weren't originally designed specifically for the purpose of writing applications.
Of course, alternatives all have flaws and cruft, too, just different ones.
Am I the only one worried about the implications of asm.js and imminent close-sourcing of the web?
I don't want bytecode in my browser. I barely like having some skiddie's javascript in my browser as it is currently. The fact that I'm about to lose the ability to even understand it is scary to me.
(Yes, I know people compile their JS currently... But that's relatively less convoluted. and can be deconstructed to a degree. This is another level.)
It almost means the same. Node is using V8 (from Chrome). Not sure if Nashorn has any asm.js optimizations but it will probably get it later if it is important to many organizations. Those are probably the most commonly used js engines out there.
Isn't node many, many versions of V8 behind Chrome? As far as I recall, they're on an out-of-date, unsupported version of V8 and sometimes cherry-pick patches from upstream, but that's about it.
I'm still sad there's no SMP/multithreading yet, but SharedArrayBuffer looks promising. The only thing missing is the fact that for GC'ed languages there's no efficient translation yet (e.g. Java/GWT).