* portable low-level, static code (asm.js translation)
* portable high-level, dynamic code (JS translation)
* interoperability between the two
* single set of APIs
* supported virtually everywhere
* portable low-level, static code (asm.js translation)
* portable high-level, dynamic code (JS translation)
* interoperability between the two
* single set of APIs
* supported virtually everywhere
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.
Redesigning everything from scratch, you lose the single thing that was special about it: adoption.
They can even compile their favorite scripting language for asm.js, but there will always be excuses:
> But I want native GC
> But I want native Speed
> But I want native _________
They'd rather die waiting for the perfect conditions than getting things done.If nobody complains about the status quo even when it's awesome, we'll never move out of the current local maximum.
The fact that there aren't perfect conditions today doesn't mean that the conditions won't improve tomorrow.
Focus on what we have, not what we might have had if history had gone differently.
Reinventing the wheel to fix minor issues is rarely worth the effort.
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.
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.)
Of course, alternatives all have flaws and cruft, too, just different ones.
So they are angry because it is a "hack" that actually affects them in some way or it one of those religious things?:
1. "I'm angry 'cause you're doing it wrong."
2. "Because open source"
3. Something only dogs can hear.
4. ???