Pushing JavaScript 2 Forward

By Darryl K. Taft  |  Posted 2008-06-09 Print this article Print


What else needs to be done to push JavaScript 2 forward?

Well, I can tell you a little bit more. In order to try to make Microsoft happy inside Ecma-even last year, when I was the so-called convener of the task group working on this-I said, look, you guys can do a smaller iteration on the existing standard, the third edition. I'm not particularly interested in working on that because we've kind of moved beyond that in Firefox, but if you want to do that, go for it.

And so there's been an [ECMAScript] 3.1 effort so-called.

But we're actually on schedule for this year with the fourth edition [of ECMAScript], and there's an agreement that the fourth edition be strictly a superset, or the 3.1 version be a subset, of 4. This is so that there would be no divergence and we're not forking the language. And I have to say that's difficult because we've made this agreement. And it makes the language that's supposed to be the subset have the ability to add something that we don't want in the fourth edition. Then we have to have this negotiation and argue about it, and that's happening right now.

And sometimes I wonder, is Microsoft just trying to wrong-foot us? We're playing fair in this Ecma setting. We're trying to have covenants about the subset relation. And suddenly they're coming in and start changing their mind or adding things and start growing this thing on the side that we don't want. And we're going to get slowed down arguing with them. And that's a risk that we're taking.

On the other hand, if they do too much of that, they won't finish this year. And what's the point of having a 3.1 if the fourth edition is already done?

So the yet-to-be-finished ECMAScript 3.1-would that be equivalent to Java??íScript 1.9???í

It's even less. Like, they didn't want to go as far as we went in Firefox with some of the features we added in Firefox 2. I'll tell you straight: I think what they want to do is have "getters" and "setters"-these little mete-programming hooks for making the property call a function on get and a different function on set. That's it. If they had a standard that said that, they'd ship that in IE 8. They don't have an IE 8 beta where they have "getters" and "setters" yet. And they've gotten a lot of flack for not having it.

You can see that that would be easy for them to add. Their heart's really in Silverlight. But it wouldn't hurt them a whole lot to add "getters" and "setters," and they probably will. They want a standard that allows them to wrap themselves in the mantle of [ECMA??íScript] 3.1. They want to fix some errata in 3.0; that's great. Guess where those errata were hosted for the last nine years? Mozilla.org. Ecma didn't care that it had a bunch of bugs in its pseudocode spec; we did. Now they're suddenly saying we must spend a lot of effort putting these errata back into the smaller iteration of the standard.

[They want us to do this] among all the other work we could do that might be important, but it's less important than moving the Web forward. So we've compiled those errata.

So when you see the shoe on the other foot you have to wonder. And it's not a good environment. Before this big falling-out last year ... we had a high-quality committee. We had a good core group for a while, and it was collegial. Once we got into this 3.1 versus 4.0 thing it's been a little bit rough. And it makes me sad because we lost that old high-quality, small group of chefs cooking in the kitchen. Now it's more like food fights and cleavers being waved.

Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel