complexity tax

Douglas Crockford douglas at crockford.com
Wed Mar 26 08:23:50 PDT 2008


Brendan Eich wrote:

> And over-minimizing a language imposes a complexity tax on programmers 
> using it. This happened long ago with JS1 and it was compounded by 
> foot-dragging monopolist misconduct since 1999.
> 
> To decide whether to evolve JS or shrink it, you need only look at two 
> things: 1) problems JS hackers run into every day, which are not solved 
> by more idiomatic functional programming hacks that add cycle and space 
> bloat to their libraries and applications; 2) competition from other 
> languages in runtimes vying to displace the browser.

I think this is the specific point of disagreement. Complexity in a language 
does not necessarily reduce the complexity of programs. I think the opposite may 
be truer. The difficulties we have had in the development community since 1999 
were not due to over-minimization. They were due to features that did not work 
as expected or reliably over the various brands and versions. I think that with 
minimal changes we can significantly improve this language. Most of the changes 
I would make would make it simpler, not more complex. And of course, our 
overwhelmingly most important problem, insecurity, is not addressed by this 
proposal. The proposal is trying to solve a problem from a 2000 viewpoint. We 
have moved on since then. We have new problems now, and the proposal does not 
match them.

I believe that it will be easier to improve the performance of the language by 
simplifying it. That performance improvement will be critical as we move toward 
mobile.

I can't make sense of your point about competition. The web's competitors all 
provide access to multiple languages, including JavaScript. In the unlikely case 
that the proposed language is successful, I would expect them to support it too. 
It would seem that the web would be more competitive if it also offered multiple 
languages. I don't believe that a single, all-inclusive monster language will be 
competitive.





More information about the Es4-discuss mailing list