It seems like we are reaching a boiling point for ECMAScript 4. The politics and opinions are growing. Opinions are good. Brendan spoke out recently and we have had a raft of blogs and comments on the matter recently.
Microsoft have been criticized by some for going dark on IE 8, and then came out of the woodwork with a slew of posts:
There are some interesting quotes though out:
Garrett Smith points out the flaws in the article, in that the issue isn't JavaScript moving forward, but rather JScript moving to meet with JavaScript.
The bugs are in JScript, not elsewhere (ok, 97%, not 100%)
Plain and Simple: IE/JScript's lack of development has been holding back the web, web standards, and innovation. Period.
We don't care what the hacks/hooks/triggers are, just please:
a.) Fix the bugs
b.) Add the missing implementations
c.) Keep us informed while doing so
d.) Ship the patches, fixes, new browser versions with the fixes.
e.) Don't get us all excited about new technology until the standard technologies are already taken care of.
Dan Dean
Please fix your JScript and DOM first.
document.getElementById should NOT return elements by NAME.
allow prototyping of ALL objects, including DOM and XMLHttpRequest
Fix you DOM Event model
element.getAttribute should return the EXACT VALUE OF THE ATTRIBUTE, for all attributes on all elements.
Dean Edwards (Chris Wilson answers)
This is clearly FUD. You mention ES3 in the headline and then link to a negative article about ES4. You suggest a new language but have not participated in the design of ES4 at all.
You say that "Microsoft" think that the web is best served by the creation of a new language. Your name is at the bottom of this article. What do *you* think?
Chris Wilson
As I understand it, on the other hand, the ES4 proposal introduces a lot of new language functionality that essentially changes the character of the language. I don't personally have a problem with that language as a language - but I think grafting that different-in-character-language together with a compatible-and-performant implementation of the Javascript of today is both super-hard (if even possible) to get right, and is ignoring the bigger problems of language-for-web, namely interoperating with all the script that is out there. (I'd also take on other challenges first if I were redesigning Javascript - e.g. domain-aware security as a language tenet. That's Monday-morning quarterbacking the ES4 design as a new language proposal though.)
My point is that it's a fallacy to think that you're evolving Javascript if your expectation is that the scripts will have a different type param, and be handled by a separate runtime (i.e. the ScreamingMonkey approach). That doesn't seem like it will have good interop to me, at least not in a world where mashups and separate code components from disparate places (all of which are some variant of ES3 today) are the norm.
I want us to stop polarizing and start coming together. I was just listening to a water rights battle that has lasted 18 years (between various southern US states). The Web may not be quite as finite as the water resources, or important to survival, but I think it is time for us to be a bit more like the west than the south. Let's all come together and discuss the issues. When engineers get in the same room great things happen. And, we are all engineers.