Thursday, November 01, 2007

ES4: The Javascript 2.0 Blaze

Updated: Now on Slashdot.

A bit of a flame war going on in the ECMAScript working group (which spices up an otherwise reasonably boring mailing list).

This blog post (from Mozilla Foundation CTO and Javascript creator Brendan Eich) is really only tip of the iceberg - you should follow some of the links from his post, or check out the mailing list archive.

Javascript 2.0, or more formally ECMAScript Edition 4 (or simply ES4) has been in the works for a good, oh.... 8 years now. With the ES4-in-motion work from Adobe (nee Macromedia) in the form of ActionScript 3 (AS3), and the rise of Firefox, Safari, et al. its been getting a serious push to completion over the last year and a half, especially in the face of Microsoft's C#, Silverlight, and (though no one said it directly), I think even Adobe's Flex and AIR.

The battlelines are pretty clearly drawn, with
Microsoft and Yahoo on one side, and the Mozilla team, Opera, Adobe (interesting, eh? "Enemy of my Enemy" anyone?), and oh, pretty much everybody else on the other side. Or, as you might first opine from that cast, Evil v. Good.

MS and Yahoo think the language is changing too much, whilst the others think that it needs to in order to be competitive for the larger scale programming projects the web is increasingly requiring.

My opinion? As is usually the case, they're both right - you only have to look at the Flash community's response to ActionScript 3 .

In short: They like it - a lot, but its very different than AS2 development.

And, oh, from an implementor's perspective, AVM1 and AVM2 (which, roughly, correspond to ES3/AS2 and ES4/AS3) are two completely different VMs. Is it possible to make one that does both? Sure... but there's no denying ES4 requires *substantially* more effort and complexity to implement (note I'm *not* making an argument about code size here....)

An so, in a deliciously Shakespearean turn, Doug Crockford of Microsoft of Yahoo asserts (correctly I think) that the issue is fundamentally one of nomenclature.

Of marketing.

If its not called Javascript, would anyone use it? And if it is, how similar should it be?

Quite frankly, Brendan's probably right in that, whatever justifications the opposition might even believe, there is a bias to keep Javascript "ghetto-ized" to a degree - because of existing investments and strategy considerations.

That doesn't, however, make it wrong to push in that direction.

Personally, I do wish there were less emphasis on the "compiler/VM" split that Java brought into vogue - it seems to be at the the heart of a lot of the design decisions that make AS3 and ES4 feel less "Javascript-y" to me.... but that's both good and bad - ECMAScript 3 is forgiving of errors well past the point of stupidity.

And so, lightweight stuff really is harder, but its also a lot easier to write stuff well...

Labels: , ,

6 Comments:

Blogger Douglas said...

For the record, I do not now nor have I ever worked for Microsoft. I work at Yahoo!

November 01, 2007 1:38 PM  
Anonymous Anonymous said...

Sorry for being picky, but there is no AVM3 yet. AVM2 for As3 and AVM1 for As2+As1.

November 01, 2007 8:32 PM  
Anonymous arpit said...

Nice post. Whats interesting is almost everyone seems to be doing very similar things (JS2, AS3, JavaFX, Silverlight, etc etc), with distinctions between the technologies more philosophical than technological (open standards vs proprietary). Good times to be a UI developer though if you havent drunk any marketing kool-aid

November 01, 2007 11:56 PM  
Blogger Sree Kotay said...

oop - sorry Douglas :) I'll correct that...

November 03, 2007 12:16 PM  
Blogger Sree Kotay said...

Thanks anonymous - got all my numbers confabulated; will fix...

November 03, 2007 12:17 PM  
Blogger runescape gold said...

宿州之窗
[url=http://www.sz-window.com]宿州之窗[/url]

April 03, 2008 5:15 AM  

Post a Comment

Links to this post:

Create a Link

<< Home