Issue (1)--the forwards compatibility story--is the tricky one. Was it necessary to have asm.js as a stepping stone, or could we have gone all the way to Web Assembly from the beginning? I don't know, and we might never know, but having asm.js around for browsers that don't support wasm certainly doesn't hurt.
I was talking about about the sentiment that byte-code in general isn't necessary/feasible/desirable for the web.
Here are some example of the sentiment as I remember it. There was a lot of skepticism that it would be possible to design something that would be a better compilation target than JavaScript while still being fast, portable, and properly sandboxed:
https://news.ycombinator.com/item?id=1893686
https://web.archive.org/web/20101126142151/http://www.aminut...
https://www.infoq.com/news/2013/05/javascript-browser-byteco...
The wasm guys may be right. Their predictions may have been accurate all along. But it may also be that we didn’t need this five years ago but we really do now.
Example: A Lua lexer, https://github.com/serprex/luwa/blob/f048aa2f67dfae00740d556...
Not to say it's any less exciting in regards to it's potential. But it's important to keep expectations balanced by present outcomes.
Nonetheless, the bloat train will resume at that point. And, the frontend will start having the same amount of fragmentation as the backend.
Good news for us, though, is job security. The resulting complexity helps us, at least in one way.
Web apps will be on equal footing and fragmentation as the old client/server model (vb, powerbuilder, delphi, c/x11/motif, visual c++ / mfc, dart/flutter, etc).
What comes around, goes around. The cyclic nature is pretty funny.
Err, I think that boat has already sailed?...
E.g. Grunt, Gulp, Webpack, make, Parcel, Brunch, Browserify, etc, etc, etc.
Frontend dev won't mean what it means today.
I don't think I despise an incentive as much as this one, even if it is a natural side-effect, not intentional. It's the reason why large and top-heavy bureaucratic organizations end up being a net-negative as a result of their structure. Despite their well intentioned attempts at 'fixing' the bumps in the road that natural free flowing systems generate, with top-down control and extreme risk management.
Instead of fostering common-sense and individual talent, it creates incentives and attracts people who care more about the organization itself, and their position within it, rather than the outcomes and value creation for which the organization was originally created.
(btw I know WebAssembly isn't, strictly speaking, byte-code. It's a compact binary encoding of an AST. But it has all the characteristics that people really cared about when they asked for byte-code: it's a low-level representation that is a good compilation target for compiled languages)