I actually thought he brought up a good point the third paragraph: perhaps it's best to have a representation between Javascript and machine code that other languages can target. The VM should do what V8 does - optimize to machine code - but it might open up the potential for other languages to be embedded in browsers.
perhaps it's best to have a representation between Javascript and machine code that other languages can target
And the payoff for that extra complexity and a probable loss of performance is... what, exactly?
Particularly when you consider that even if Chrome did have a VM that could run compiled Flash, Python, Ruby, and Lisp... very few programmers would ever use those languages, because the resulting code wouldn't work in any other browser?
Unless you require a plugin, Javascript is the greatest common factor in modern browsers. That's not going to change in the foreseeable future, both because it's a very tedious long-term project to establish and promote a cross-browser alternative, and because the payoff is probably not big enough to justify that effort: As guys like Yegge and Crockford have pointed out, Javascript is a pretty good language to have gotten stuck with, once you learn to steer around the kludged bits.
I thought I mentioned the payoff, as did the author: using an arbitrary language in the browser.
I don't think this is necessarily the way to go, but I think it's an interesting idea. I pointed it out because this blog post is the first place I've seen it.
What's wrong with using JS source as the intermediate representation? It's probably even easier to write a [DYN LANG X] to [WELL KNOWN JS] translator than [DYN LANG X] to [NEW V8 BYTECODES].
It's just a slightly different path to the same final machine code running in the same environment, and neither the conversion to JS nor the alternate theoretical conversion to bytecodes may be a noticeable bottleneck in real apps.
(Also: I'm not even sure his assumption is correct. V8 might use some intermediate representation that other languages could target in preference to JS source. Someone who's familiar with the source/architecture would have to say.)
I thought it was quite clear why it wasn't built for the other platforms just yet.
The other platforms are generally dominated by tech savvy users but in the big scheme of things we make up a very small part of the internet as a whole. I'm sure they just wanted to spend more time focussing on getting a larger number of customers adopting early than spreading resources thinly.
If anything I think it shows a great amount of respect on Google's behalf of its Linux and Mac users, because I dont think they would have wanted to release a buggy piece of crap to their users if they had limited resources on the project.