Is ES3 good enough? Was incrementally strengthening ES3 paradigms considered?

YR Chen maian330 at
Mon Nov 12 13:56:46 PST 2007

Personally, I'm still mixed on the introduction of the whole nominal type
system with classes and whatnot. I'm very sympathetic to views that ES4
should concentrate on ES3's weak points. At times, I feel that ES3 is just
too "alien" a base to build the "programming in the large" features that ES4
advocates on to. Like fitting a square peg into a circle.

Nonetheless, I see that languages based on the old ES4 draft (2002?) that
have been successful, namely ActionScript. I'm not very familiar with it,
but the overall feeling I get from ppl developing in AS is positive. I also
want to get my hands dirty testing out classes in ES4, but sadly the RI is
too buggy at the moment. Basically, what I'm saying is, I'm willing to give
the Java-esque type system a chance.

With that said, some of your ideas are interesting, such as multiple
prototypes. I imagine, however, that that would slightly less efficient, and
more importantly, result in similar problems to multiple inheritance (think
diamond inheritance issues). I would like to know how Self handled that

Macros have been proposed and discussed before - they're somewhere on the
wiki. AFAIK, they've been deferred to a future ES5.

-Yuh-Ruey Chen

On Nov 8, 2007 1:28 PM, Peter Michaux <petermichaux at> wrote:

> I've been reading the blogs and fuss over the the ES4 proposal. It
> seems to me that if ES3 was so horribly inadequate then big changes to
> the language would be welcomed unanimously. It must be that ES3 is
> sufficient to get by well enough that we have the luxury to argue
> about the worth of the proposed changes.
> Was incremental change to the ES3 language ever considered at the
> beginning of the process for ES4? It seems there are many places where
> the ES3 language could be improved without changing it's character (ie
> adding classes). If ES was developed in a hurry then perhaps there was
> plenty of room to strengthen the paradigms it already contains. If
> work had continued on ES immediately after ES3 was released, isn't
> that what would have happened?
> There are things that cannot be done with ES3 that could be added...
> Could the Self aspect of ES be strengthened? For example, more control
> over prototypes and the prototype chain would make programming with
> that model of inheritance a stronger competitor to class-based
> inheritance. The read/write __proto__ property could be standardized.
> Objects could have multiple prototypes like in Self. A obj.clone()
> function.
> Could the Scheme aspect of ES be strengthened? Tail recursion and let
> statements seem like good additions. What about macros? Please!
> Binary download for hiding code seems to be something people have been
> trying to achieve through obfuscation but cannot truly do with ES3.
> Complete support for secure mash-ups seems essential and not just
> because Douglas Crockford says so. Developers want to mash-up and are
> doing it now even with the security risks to their unknowing users.
> Adding types, classes and interfaces is drawing inspiration from
> languages with other models of programming. The new look of ES4 is
> very Java-like. Are the screams from the Java programmers enough to
> control the future of ES? Adding these constructs seems like an
> attempt to try to please everyone. This is the classic anti-pattern in
> marketing.
> There is an argument that the changes in ES4 are needed for the open
> web to keep up with rich platforms like Flash and Silverlight. As far
> as snazzy, sparkley user interfaces go, the ES3 language isn't the
> problem here but rather it is HTML, the DOM and CSS. Even if Internet
> Explorer and all browsers suddenly implemented these other standards
> correctly an HTML/JavaScript/CSS page wouldn't be very impressive
> compared with a Flash animation. I gulped last weekend when I saw a
> friend's flash portfolio with sound, video and vector graphics and
> then thought about my rectangular tabbed panes and drop down menus. I
> won't be able to do any of the Flash-like stuff with ES4. This
> paragraph isn't intended as an argument against changing ES but I
> don't think change to ES should be justified by the "keeping up"
> argument.
> Has ES3 proven itself to be such a disaster that trying to improve it
> incrementally while retaining its character is obviously the wrong
> choice? Was ES founded on such poor choices (Self and Scheme) that we
> should be moving to completely different style of programming (Java)?
> I wouldn't be writing this email had others not spoken up. It seems
> somewhat inappropriate and rude to speak against what Brendan Eich is
> proposing since it is his language.
> Peter
> _______________________________________________
> Es4-discuss mailing list
> Es4-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Es4-discuss mailing list