Mark, > I was not at the Ajax Experience conference, but I just spent the last > week at OOPSLA. Everyone at OOPSLA I ran into who knows about the ES4 > proposal hates it. The general sense is that they think it's a train > wreck. But there's a feeling of resignation: Yet another runaway > standards process to oppress us. The people expressing this opinion > include some extremely good programming language folks with great > track records and reputations.
I've been to lots of conferences with reputable PL people too, and I know that they are no more immune to rumor than other venues. All it takes is one person to start spreading FUD about a technology for it to become the buzz and ultimately accepted "wisdom." I was not at OOPSLA, so I couldn't say for sure what people are really saying. But just to hear that unnamed people were bad-mouthing ES4 contributes nothing but bad blood to the conversation. Please stick to arguments about substance. Your expertise in language design is well known and *more* than welcome here, Mark; I would love to hear you weigh in on content. > I did raise with people the notion that the new larger language be > given a different name. One reason that C managed to stay small is > that all those who wanted to grow it self-selected to grow C++ > instead. Likewise, the existence of Common Lisp probably helped > protect the smallness of Scheme. Everyone I mentioned this to thought The example of Scheme seems to contradict your point. Common Lisp grew out of an incumbent language, whereas Scheme came out of a separate rewrite of Lisp. As I understand it, Guy and Gerry designed Scheme for their own purposes largely out of whole cloth. Note also that Scheme too has had to grow as it has matured. In fact, Guy Steele gave a famous talk--at OOPSLA, no less--on the importance of language growth. At any rate, Scheme and C++ are languages with different ecosystems from JavaScript. JavaScript exists first and foremost on the web. It's the only open-standard engine behind the platform of the web. Brendan Eich has repeatedly explained why a multiplicity of languages on the web is infeasible, e.g. at the URL Jeff Dyer linked to (http://lambda-the-ultimate.org/node/2504). So obstructing the progress of JS and consequently the open web in the name of preserving the purity of a "platonic ideal" of JavaScript strikes me as either a mistake of philosophical extremism, a convenient cover for conflicted business interests, or a combination of both. > this name change would be a good idea, and would help protect the > continued evolution of the language we now call Javascript, i.e., > EcmaScript 262 Edition 3. Whatever its flaws or virtues might be, the > ES4 proposal is simply a very different language. Please let's be > honest about that and change its name. The language is without doubt much larger than it was. Part of this is driven by a desire to provide conveniences that in ES3 people are forced to simulate, often at cost to both performance and clarity: classes via prototypes, local bindings and private members via closures, etc. And part of this is driven by a need for language features with tighter guarantees; ES3 features such as the prototype system, global object, with-bindings, eval, etc. are famously anathema to abstraction, reasoning about code, and practical compiler optimization. So introducing new language features provides programmers the features they need and implementors greater flexibility in optimization, in order to keep JS competitive. Finally, just to reiterate that the "it's a different language" charge glosses a critical aspect of the ES4 proposal, namely backwards compatibility. ES4 is not a new language. It is, as the overview describes, a significant evolution of ES3. Dave _______________________________________________ Es4-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es4-discuss
