New browser war brewing over JavaScript?

I’ve been getting lots of emails and calls on this, so I know that at least some developers care about the proposal for a new ECMAScript titled the ES4 proposal (PDF). I am still trying to figure out which side to take in this, but from what I’ve been able to learn there are a few sides to this.

1. Mozilla and other browser manufacturers who are trying to push a new version of JavaScript (er, ECMAScript) through the system.
2. Microsoft, who those browser companies see as dragging its feet. Chris Wilson, architect on the Internet Explorer team gives his side of the story. He also wrote a post on the IE team blog. I’ll just link to Chris Wilson’s stuff because he links to plenty of stuff on the other side so you can get up to date on what’s going on.
3. Web developers, who are scared that they are going to have to support yet another version of JavaScript and test their sites on yet another platform.

Where do you find yourself?

Google, last week, told me it was about to announce a ton of things for developers that would be based around JavaScript and CSS. I wonder what it thinks about this conversation?

I’d love to have developers on my show who can explain both sides of this argument to me and also explain what the new JavaScript will do for the Web and for end users, since that’s really who I care about. I don’t have a dog in this fight, so would love to give both sides equal time to explain what’s going on. Anyone game?

UPDATE: Brendan Eich, head of Mozilla, writes back to Chris Wilson about this issue.

Published by

Robert Scoble

As Startup Liaison for Rackspace, the Open Cloud Computing Company, Scoble travels the world looking for what's happening on the bleeding edge of technology for Rackspace's startup program. He's interviewed thousands of executives and technology innovators and reports what he learns in books ("The Age of Context," a book coauthored with Forbes author Shel Israel, has been released at http://amzn.to/AgeOfContext ), YouTube, and many social media sites where he's followed by millions of people. Best place to watch me is on Facebook at http://www.facebook.com/RobertScoble

Comments

  1. I can’t speak from the programming perspective, but man, I would love to be there – representing the people that build businesses build around web sites. You know – not a developer, but an entrepreneur who builds sites – and has to deal with all of the crap that already exists (and in some form has to be supported/dealt with).

    If this doesn’t clear the fog, then let’s please just kill it right now. I have enough to worry about with JS/Java/ActiveX controls, too many browsers to support, etc, etc, etc

    Rob

  2. I can’t speak from the programming perspective, but man, I would love to be there – representing the people that build businesses build around web sites. You know – not a developer, but an entrepreneur who builds sites – and has to deal with all of the crap that already exists (and in some form has to be supported/dealt with).

    If this doesn’t clear the fog, then let’s please just kill it right now. I have enough to worry about with JS/Java/ActiveX controls, too many browsers to support, etc, etc, etc

    Rob

  3. As a programmer my initial thought is similar to those already stated, “Oh no, I’ll have to worry about yet another Browser version”. But you know what? This is just the way life as a developer goes. Get used to it folks. There will never be a point when everyone is on the same exact (and agreed upon) specifications. It’s called progress. I really cannot believe some comments before indicated we should kill the new standard. I mean come on people if that was the stick in the mud attitude in the mid-90s we’d still be using HTML 1.0. “Oh No we can have change to HTML 2.0. Let’s all just stick with HTML 1.0 forever!”

  4. As a programmer my initial thought is similar to those already stated, “Oh no, I’ll have to worry about yet another Browser version”. But you know what? This is just the way life as a developer goes. Get used to it folks. There will never be a point when everyone is on the same exact (and agreed upon) specifications. It’s called progress. I really cannot believe some comments before indicated we should kill the new standard. I mean come on people if that was the stick in the mud attitude in the mid-90s we’d still be using HTML 1.0. “Oh No we can have change to HTML 2.0. Let’s all just stick with HTML 1.0 forever!”

  5. This problem was created for software libraries to solve. Let the experts build things like Prototype and Scriptaculous and the rest of us can just keep calling the updated libs and get on with the rest of our lives. So in short, not a huge problem…let’s just hope there are useful new things in the standard.

  6. This problem was created for software libraries to solve. Let the experts build things like Prototype and Scriptaculous and the rest of us can just keep calling the updated libs and get on with the rest of our lives. So in short, not a huge problem…let’s just hope there are useful new things in the standard.

  7. @Paul – I didn’t suggest that it should be killed outright, and right now. I said, “If this doesn’t clear the fog, then let’s please just kill it right now” – meaning, simply – let’s set a standard that WILL be compliant among all browsers in say, two years. That should be achievable, right?

    And if we can’t achieve that, and there is no other compelling (VERY compelling) reason to introduce yet another “thing”, then please – let us not.

    Rob

  8. @Paul – I didn’t suggest that it should be killed outright, and right now. I said, “If this doesn’t clear the fog, then let’s please just kill it right now” – meaning, simply – let’s set a standard that WILL be compliant among all browsers in say, two years. That should be achievable, right?

    And if we can’t achieve that, and there is no other compelling (VERY compelling) reason to introduce yet another “thing”, then please – let us not.

    Rob

  9. Paul: I agree with you. One thing I wonder is why hasn’t anyone done any evangelism? I’m off to YouTube to see if anyone has posted a video of what this will do for us all. Let me save you the trouble: there isn’t any.

    Developers: you need to convince the world that this is a good thing to do. Show us!

  10. If it’s been said once, it’s been said a million times: the ability to test positively against features is imperative.

    A cursory glance suggests that the new platform satisfies this requirement. If they make a point of removing support outright for somethhing or other (preferably something minor), then I fail to see what the Big Deal is.

    Six months’ grace (or at least warning) to insert all of the necessary if blocks would be nice, too.

    Lots of money might be eaten over this evolution, so it’ll be interesting to see how it pans out.

  11. Paul: I agree with you. One thing I wonder is why hasn’t anyone done any evangelism? I’m off to YouTube to see if anyone has posted a video of what this will do for us all. Let me save you the trouble: there isn’t any.

    Developers: you need to convince the world that this is a good thing to do. Show us!

  12. If it’s been said once, it’s been said a million times: the ability to test positively against features is imperative.

    A cursory glance suggests that the new platform satisfies this requirement. If they make a point of removing support outright for somethhing or other (preferably something minor), then I fail to see what the Big Deal is.

    Six months’ grace (or at least warning) to insert all of the necessary if blocks would be nice, too.

    Lots of money might be eaten over this evolution, so it’ll be interesting to see how it pans out.

  13. Yet another reason for developers to consider Flash (created by tools like Adobe Flex). For rich user interfaces it solves a ton of problems related to browser compatibility and the new Flash 9.5 coming soon will offer faster, more dynamic loading of components. I’d also agree with David Sterry. Most develoeprs should now rely upon toolkits developed by people who spend all their time playing with these platforms. That includes the excellent toolkits Yahoo and Google make available, for free.

  14. Yet another reason for developers to consider Flash (created by tools like Adobe Flex). For rich user interfaces it solves a ton of problems related to browser compatibility and the new Flash 9.5 coming soon will offer faster, more dynamic loading of components. I’d also agree with David Sterry. Most develoeprs should now rely upon toolkits developed by people who spend all their time playing with these platforms. That includes the excellent toolkits Yahoo and Google make available, for free.

  15. @buddy
    You won’t have to learn anything new. ES4 is backward compatible. It’s like regular javascript, but with bugfixes and a few new features.
    @scoble
    EC4’s type system will make it possible to run JS much faster and with fewer bugs. That is good for end users isn’t it? Making EC4 self hosting means that it can finally be used as a proper fully grown up programming language- One that Firefox will be almost entirely written in. (A large portion of Firefox is already in javascript as it is). This is a good thing for open source, as it will be a much safer environment for beginners to contribute to than the thorny world of C and C++, or the type paranoid world of Java.

    @David Geller.
    Flash will run on EC4 too, quite possibly before anything else is running on it.

  16. @buddy
    You won’t have to learn anything new. ES4 is backward compatible. It’s like regular javascript, but with bugfixes and a few new features.
    @scoble
    EC4’s type system will make it possible to run JS much faster and with fewer bugs. That is good for end users isn’t it? Making EC4 self hosting means that it can finally be used as a proper fully grown up programming language- One that Firefox will be almost entirely written in. (A large portion of Firefox is already in javascript as it is). This is a good thing for open source, as it will be a much safer environment for beginners to contribute to than the thorny world of C and C++, or the type paranoid world of Java.

    @David Geller.
    Flash will run on EC4 too, quite possibly before anything else is running on it.

  17. If the core Actionscript 3 engine (which is based on an earlier ECMAScript 4 draft and is open-sourced under Mozilla’s Tamarin project) is an indication of what we’d see in browsers, I’m all for it… both for developers and users.

    Robert, when are you up in Seattle next?

  18. If the core Actionscript 3 engine (which is based on an earlier ECMAScript 4 draft and is open-sourced under Mozilla’s Tamarin project) is an indication of what we’d see in browsers, I’m all for it… both for developers and users.

    Robert, when are you up in Seattle next?

  19. Progress is always good.

    It is however difficult on Web Developers to continually change how they do things. Specifically when Microsoft’s has historically dragged their feet in adopting new innovations in the browser department.

    I understand that their core issue here seems to be so much legacy code to support in corporate environments (I would think). It just seems like the browser would be the easiest interface to update quickly inside of any modern Windows OS. This is certainly an easier way to expand for Microsoft than a new OS.

    It was just starting to get a little better with the release of IE7 relative to standards, etc. Oh well. Progress is always good.

  20. Progress is always good.

    It is however difficult on Web Developers to continually change how they do things. Specifically when Microsoft’s has historically dragged their feet in adopting new innovations in the browser department.

    I understand that their core issue here seems to be so much legacy code to support in corporate environments (I would think). It just seems like the browser would be the easiest interface to update quickly inside of any modern Windows OS. This is certainly an easier way to expand for Microsoft than a new OS.

    It was just starting to get a little better with the release of IE7 relative to standards, etc. Oh well. Progress is always good.

  21. If M$ doesn’t show its hairy ass, I can trust what they do is in benefit of the whole communiy and the world.

    Now put M$ in the equation and everything will be fvcked up for their own benefit.

  22. If M$ doesn’t show its hairy ass, I can trust what they do is in benefit of the whole communiy and the world.

    Now put M$ in the equation and everything will be fvcked up for their own benefit.

  23. @David if you are going to pimp flash I must pimp silverlight. As a .NET developer I was able to pick it up in an afternoon and do some interesting stuff whereas I am still lost with flash

    @Breton ah ok then i’m all for a new standard. Well brb I need to go have a few words with the guy telling me about it.

  24. @David if you are going to pimp flash I must pimp silverlight. As a .NET developer I was able to pick it up in an afternoon and do some interesting stuff whereas I am still lost with flash

    @Breton ah ok then i’m all for a new standard. Well brb I need to go have a few words with the guy telling me about it.

  25. FLASH? As a standard?? Are you people crazy? Flash is the exact thing standards are trying to avoid. Grow up and read about the web society you’re participating in, people.

  26. FLASH? As a standard?? Are you people crazy? Flash is the exact thing standards are trying to avoid. Grow up and read about the web society you’re participating in, people.

  27. In a world where many people are moving from static languages (C++, Java) to dynamic languages (Ruby, Python, Perl), it seems odd that Javascript and Actionscript are moving away, especially given that they have “script” in their names. ES4/AS3 looks a lot more like heavyweight languages like Java or C# than like lightweight languages like Ruby or Python. Whereas Javascript was something to enhance web pages, ES4 looks more like a language for writing big “applications”. This all makes me sad, but it seems inevitable. (ES4 vs. ES3 also reminds me of R6RS vs. R5RS…)

    Unless IE adopts ES4, it’ll be mostly useless, except for Flash. I wouldn’t expect Microsoft to put a lot of effort into technology that lets people write fast cross-platform web applications. So I suspect ES4, like Javascript 1.7, will not have much impact (except perhaps in Flash).

    I am also reminded of “Parkinson’s Second Law”: “Perfection is achieved only at the point of collapse”. By the time the ES4 flavor of Javascript is cleaned up and actually adopted (10 years from now?) something else will probably come along.

  28. In a world where many people are moving from static languages (C++, Java) to dynamic languages (Ruby, Python, Perl), it seems odd that Javascript and Actionscript are moving away, especially given that they have “script” in their names. ES4/AS3 looks a lot more like heavyweight languages like Java or C# than like lightweight languages like Ruby or Python. Whereas Javascript was something to enhance web pages, ES4 looks more like a language for writing big “applications”. This all makes me sad, but it seems inevitable. (ES4 vs. ES3 also reminds me of R6RS vs. R5RS…)

    Unless IE adopts ES4, it’ll be mostly useless, except for Flash. I wouldn’t expect Microsoft to put a lot of effort into technology that lets people write fast cross-platform web applications. So I suspect ES4, like Javascript 1.7, will not have much impact (except perhaps in Flash).

    I am also reminded of “Parkinson’s Second Law”: “Perfection is achieved only at the point of collapse”. By the time the ES4 flavor of Javascript is cleaned up and actually adopted (10 years from now?) something else will probably come along.

  29. Given Al Billings comments about the JScript team being broken up 18 months ago (if not longer) – as a comment in the original post from the IEBlog -why should anyone trust the IE team’s intentions as being positive and not self-serving?

    After the IE 6/7 fiasco, why would anyone not continue to assume that the IE team is following their own agenda, rather than provide their users what they want?

  30. Given Al Billings comments about the JScript team being broken up 18 months ago (if not longer) – as a comment in the original post from the IEBlog -why should anyone trust the IE team’s intentions as being positive and not self-serving?

    After the IE 6/7 fiasco, why would anyone not continue to assume that the IE team is following their own agenda, rather than provide their users what they want?

  31. Robert, characterizing this as “1. Mozilla AND OTHER BROWSER MANUFACTURERS” vs. Microsoft probably isn’t appropriate.

    @R – I already refuted Al’s comments on the JScript team. They are alive, and well, and working on the JScript engine for the next release of IE.

  32. Robert, characterizing this as “1. Mozilla AND OTHER BROWSER MANUFACTURERS” vs. Microsoft probably isn’t appropriate.

    @R – I already refuted Al’s comments on the JScript team. They are alive, and well, and working on the JScript engine for the next release of IE.

  33. I don’t think I look in the right places, having so little skin in this game, but I do wonder about the complaints that the serious non-complier already is JScript.

    It would be nice to have a specification that gets everyone on a common level, with serious adoption and good conformance/interoperability demonstration.

    That’s probably not with ES4, perhaps on the road to ES4. But is that possible? Is it practical? Is it probable?

  34. I don’t think I look in the right places, having so little skin in this game, but I do wonder about the complaints that the serious non-complier already is JScript.

    It would be nice to have a specification that gets everyone on a common level, with serious adoption and good conformance/interoperability demonstration.

    That’s probably not with ES4, perhaps on the road to ES4. But is that possible? Is it practical? Is it probable?

  35. Chris, if the JScript team are working on the next release, and you are trying to slow the ES process down – can we assume correctly that the JScript team are fixing all of the bugs in JScript that have been present since IE4, which makes them what? a decade old? I am sure those fixes would be appreciated by those that have had to suffer them.

  36. Chris, if the JScript team are working on the next release, and you are trying to slow the ES process down – can we assume correctly that the JScript team are fixing all of the bugs in JScript that have been present since IE4, which makes them what? a decade old? I am sure those fixes would be appreciated by those that have had to suffer them.

  37. I for one am for innovation and simplicity. Browser apps have come a long way.

    For the first time, we can seriously consider replacing desktop apps and the related issues, such as OS version, .net version, etc.

    Whoever comes up with a simple effective solution for developers and users will win, simple as that.

  38. I for one am for innovation and simplicity. Browser apps have come a long way.

    For the first time, we can seriously consider replacing desktop apps and the related issues, such as OS version, .net version, etc.

    Whoever comes up with a simple effective solution for developers and users will win, simple as that.

  39. Sorry, my bad. I used your point about it being mothballed as the basis for drawing conclusions about Microsoft’s intentions. In retrospect that was probably wrong :(

  40. Sorry, my bad. I used your point about it being mothballed as the basis for drawing conclusions about Microsoft’s intentions. In retrospect that was probably wrong :(

  41. AS3 is built on ES4. It is a very cool language as is Javascript2 in which it is designed from. Microsoft is seeing the developers cling to this (coincidentally it drives Flash9/Flex3) and the competition is heating up.

    Usually Microsoft just does this to buy some time.

    ECMA4/javascript2 is the way to go. Everything is better the OO, the event handling, smaller scripts, ES4 is also compatible with ES3 so what the deal? The only bad part is it supports getters and setters, why oh why start the bloat? Totally unneeded concept in today’s languages, you can have properties without getters and setters especially client side.

  42. AS3 is built on ES4. It is a very cool language as is Javascript2 in which it is designed from. Microsoft is seeing the developers cling to this (coincidentally it drives Flash9/Flex3) and the competition is heating up.

    Usually Microsoft just does this to buy some time.

    ECMA4/javascript2 is the way to go. Everything is better the OO, the event handling, smaller scripts, ES4 is also compatible with ES3 so what the deal? The only bad part is it supports getters and setters, why oh why start the bloat? Totally unneeded concept in today’s languages, you can have properties without getters and setters especially client side.