5 ms·
Microsoft with all its resources, and without having to standardize and version-lock IL bytecode across the web, managed over 10 years to build other languages,
by BrendanEich 16y ago
Microsoft with all its resources, and without having to standardize and version-lock IL bytecode across the web, managed over 10 years to build other languages, but the only credible one in my book besides C# is F#. The Iron languages are lagging versions of their progenitors. I'm not the guy to evaluate COBOL.NET and Fortran.NET. For some reason you left out the failed VB7 (aka Visual Fred), which is grist for my mill.
That IE9 Dead Code Elimination JS optimization that seemed strangely overtuned for one SunSpider test has nothing to do with JS source vs. bytecode. It does show how poor the industry-standard benchmarketing tests are (Apple is fixing to use the result of the loop, btw).
If you assume DCE happens upstream of transformation to bytecode, you assume more tooling than most web developers I've spoken to prefer to run. And anyway, web developers generally don't write useless yet computationally expensive loops!
But let me agree that it's possible a bytecode for JS could catch on, if only it could be standardized and implemented in all the top browsers.
Then we would have the versioning and future hostility problems I've mentioned, along with some other languages than JS being developed, which might or might not catch on.
So why don't we standardize some (or any, to read your comments) bytecode? I listed reasons including NIH and patents. Those are the "bad" ones but they're real. I don't think they afflict Mozilla, so kindly spare me your inflamed sense of grievance against "vendors".
Regarding web-based apps vs. native apps, see:
http://www.avc.com/a_vc/2010/11/html5-mobile-apps.html http://www.avc.com/a_vc/2010/11/html5-mobile-apps.html
and also
http://www.emarketer.com/Article.aspx?R=1008010 http://www.emarketer.com/Article.aspx?R=1008010
Opinions vary, but web-based apps if not "web apps" are trending up, not down.