Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Is the future of JavaScript ECMAScript 4?

Is the future of JavaScript ECMAScript 4?

This item in japanese


The discussion on the future of ECMAScript has been quite lively lately. Brendan Eich kicked off a flurry of posts about ECMAScript 4 and if that is the right path.

ECMAScript 4 is the next version of the standard which is implemented as JavaScript and JScript. With the publication of an overview of ECMAScript 4 Eich, the creator of JavaScript, has pushed forward the question of how will we get JavaScript to ECMAScript 4. While work on ECMAScript 4 is progressing, there are many who are unhappy with the specification, arguing that it is too much, too fast, and fails to address some of the critical issues of the language today.

After publishing the overview, Eich beat up on Microsoft for their lack of participation in the debate. That sparked a response from the JScript team at Microsoft, who are consolidating a list of all known divergences of JScript from the specification, as well as the generally accepted behavior of JavaScript. Microsoft believes that ECMAScript 4 is too big of a jump and Chris Wilson, Platform Architect for IE detailed his personal thoughts as well.

Douglas Crockford, a well respected JavaScript expert at Yahoo!, has reservations as well:

There are a lot of people who feel that JavaScript sucks, and are hopeful that the proposed language will suck less. My concern is that it may suck more. If new language is able to prove itself, then it may earn adoption. But it should not be standardized and displacing stable technology until it is proven.

Ajaxian has compiled several posts on the subject and even Dave Thomas has written about version 4:

Just browsing through the wiki shows a language which has prototypes, classes, multi-methods?, static types, dynamic types, etc, etc. This reminds an old guy like myself of other large design by committee languages such as PL/I, Algol 68 and ADA. These ambitious efforts all had smart people involved in the design and implementation but were unfortunately far too complex and came to the market too late. JS is intended to be a language for the people, not another language that only technical wizards can understand. If you are an Ajax developer or care about dynamic languages I suggest that it is time for you to speak up and help put ECMAScript 4 on a much less ambitious path than is currently being charted. Less is truly more when it comes to languages.

Keep up with the future of JavaScript here at InfoQ.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Unfairly pigeonholed

    by Paul Fremantle,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I've been using JavaScript since maybe 1996 and I think its a great language. The naysayers who are trying to hold it back think of JS/ES as an old language they don't want to have to worry about, but its relatively young as languages go.

    If this was a new language like Ruby or Groovy, these changes would probably be seen as too little!

    JavaScript spearheaded many of the dynamic features that are now considered cool in the latest batch of languages, but has long been seen as just a toy language only good enough for hacking around in browsers. Holding its development back would be unfair and pointless --- its perfectly easy to define which version of the language a .js is targeted against.

  • Can we just get a VM already?

    by Dan Tines,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I wish Microsoft would just completely open up the mini-CLR and we could just be done with these debates over Javascript once and for all

  • Is EMCA Script 4 Necessary Right Now?

    by Peter Wagener,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I've spent the last two years doing mostly JS work, and I have to admit I like it more than I thought I would. Coming from the warm & cozy Java world in to the harsh, everything-is-a-compromise world of JavaScript was a bit of a shock, but once I got past that I've been pretty happy with the language.

    My question is this: do we need ES 4 right now? Can't we wait until the browsers and supportive technologies catch up to ES 3 before barreling ahead with a whole lot of new language features that would disrupt the momentum that JavaScript has (finally) got going for it?

    It seems to me that a lot of the technologies surrounding JavaScript need some soak time -- not another dose of frills around the language basics. The Dojo Toolkit just shipped their 1.0 release last week; Prototype and the libraries built on top of it are mature and stable; Google Gears holds a lot of promise for moving the browsers towards a full-featured development platform; The browsers themselves are (ever so slowly) moving closer to actually meeting the EMCA 3 specification.

    The smart thing would be to see how these technologies are adopted by developers in the real world first, and use those observations to help form the next version of the language. I am all for a lot of the proposed changes (namespaces and standardized OO syntax in particular), but the current 'extra' technologies already provide what I need right now, without having to wait for browser support.

    I figure the ES4 will be 'approved' at some point next year, and no one will care. The browsers will continue their march towards ES3. Developers will be curious about ES4, but mostly for academic reasons.

  • JavaScript on big programs

    by Diego Fernandez,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    This experience report form the Lively Kernel Project at Sun (

    Sheds some light in the current limitations of JavaScript... I think that is really on topic with the JavaScript/ECMAScript debate.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p