Improving Function.prototype.bind

François REMY fremycompany_pub at
Thu Jan 5 14:38:47 PST 2012

I have to agree. I’m just convinced that you have to break compatibility at 
some point, or you "die". VB is a good sample. VB was great for the time he 
was introduced but it has many quirks. At some point, Microsoft broke 
compatibility, and VB.NET is born. Some developers complained, but I’m 
pretty sure nobody using VB.NET today would like to go back and make a new 
program using VB6.

I’m not an UA implementor, so I don’t want to pretend I know what should be 
done. I can’t help but repeat what I said to the IE team some time ago :

While I agree with you that keeping the syntax identical allows higher 
compatibility, you should note that introducing new syntax is needed at some 
point to introduce new features "the right way" (EDIT) or to fix language 

Web applications are coming to a point where new browsers will become a 
requirement, not due to impossibility of making the app using fallbacks but 
due to poor performance and too high maintenance and bug finding costs.

I trust Microsoft for doing the things right. ES4 was a mistake you helped 
to avoid. It was too much, too quickly. But syntax changes will come 
someday. Don't hesitate too much... or you will fragment the web scripting 
with tons of "hyper" languages like CoffeeScript. It isn't a good idea. Or 
at least it doesn't seems to me.


From: Axel Rauschmayer
Sent: Thursday, January 05, 2012 10:24 PM
To: François REMY
Cc: Andrea Giammarchi ; es-discuss
Subject: Re: Improving Function.prototype.bind

As things are going, things are not going to change. The strong desire to 
avoid any behavior breakingchange between ES5 and ES6 actually makes it 
impossible to fix a lot of issues. I’m starting to think Google may be right 
to start over a new language, the comitee is too conservative about ES.

Don’t forget that we do get a lot of really nice features via, including fixes for most quirks. The incremental approach 
does make sense and keeps everyone on board. A more radical approach has 
been tried – ECMAScript 4 – and abandoned. Furthermore, the input going into is diverse (E, Racket, Smalltalk, etc.). Lastly, progress is steady 
and if is finished by 2013 then that is quite impressive. Compare: 
five years between Java 6 – with few new features – and Java 7.

Dr. Axel Rauschmayer
axel at


More information about the es-discuss mailing list