complexity tax

Garrett Smith dhtmlkitchen at
Wed Mar 26 16:43:53 PDT 2008

On Wed, Mar 26, 2008 at 8:23 AM, Douglas Crockford
<douglas at> wrote:
> Brendan Eich wrote:
>  > And over-minimizing a language imposes a complexity tax on programmers
>  > using it.

That is true.

>  > 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.

Not necessarily, but to be specific, simply adding 'private' access
modifier would avoid a closure. This is good because its a lot more
convenient and a lot clearer.

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.

That is true. Implementation differences are significant difficulties.
Other difficulties had to do with browser differences/competing
technology platforms (<layer>, document.all).

There are also limitations to the language itself that cause problems
(no access modifiers, limited typechecking, enumeration). I disagree
that limitations in the language did not cause difficulties. I think
the opposite is true. I think that developers ran into problems when
trying to add to Object.prototype. I think developers have struggled
trying to figure out if [some_object] was a function or array. I think
that developers exploited closures for all that closures had to offer.
Closures are the most useful thing we have because there simply aren't
other alternatives available.


>  _______________________________________________
>  Es4-discuss mailing list
>  Es4-discuss at

More information about the Es4-discuss mailing list