The main point of the blog post “Thoughts on asm.js vs PNaCl” (by Gregg Tavares) is:
It just seems like asm.js and PNaCl are closer than people are admitting.Some of the other points he is making are more controversial, so be sure to read the comments to get the complete picture.
That doesn’t mean that asm.js is perfect: It can certainly benefit from further performance optimizations and while the size of a file with gzipped asm.js code seems to be acceptable, processing such a file will always incur a performance penalty (gzipped or not). But asm.js is good enough for many applications: For example, Mozilla has ported the game engine Unreal Engine 3 (= lots of C++ code) to it.
It’ll be interesting to see how much PNaCl and asm.js will become cross-browser. For PNaCl, things don’t look good: no one has indicated an interest in a port. For asm.js, Google sounded like they would support it (at Google I/O). Support from other vendors is less certain.