Function Syntax

Garrett Smith dhtmlkitchen at
Wed May 11 07:40:27 PDT 2011

On 5/10/11, Allen Wirfs-Brock <allen at> wrote:
> On May 10, 2011, at 4:53 PM, Douglas Crockford wrote:
>> I look at ECMAScript as serving four groups:
>> 1. The beginners for whom the language was designed.
>> 2. The web developers who owe their livelihoods to the language.
Library users.

>> 3. The scientists who will use the language for greatness.
Not much greatness in web development these days, is there?

>> 4. Language designers and critics.

I'm fine with calling these traits; calling them mutually exclusive
categories is a thinking error.

> I'm not exactly sure what you mean by "scientists".  The third group I would
> identify are professional software developers who will use the language to
> implemented complex applications of the soft that today are more commonly
> implemented using Java, C++, etc.  These are larger systems that need more
> emphasis upon upon abstraction building in order to manage the domain and
> application complexity.
> At a meeting today, the dichotomy we used in talking about this is the
> difference between "imperative programmers" and "abstraction builders".
> Imperative programmer know how to use basic imperative statements to
> manipulate predefined abstractions.  Abstraction builders  create such
> abstractions. I think that all of your #1 and much of #2 are "imperative
> programmers".  While we need to continue to improve the language for this
> group we also need to start better serving the needs of the abstraction
> builders.   Much of what we have promoted to proposal status seems to be
> oriented target on this latter group.
The mentality that "imperative programmers" and "abstraction builders"
are non-overlapping is a thinking error that pissed me off to the end
of my career as a javascript programmer.

Abstractions aren't to be done by the ivory tower architect (or "js
library author" or "javascript guru"). They're created out of need.
The need comes from fulfilling the requirements. I recommend Domain
Driven Design, by Eric Evans (and I have a copy for sale, in excellent

Please don't design Ecmascript based on categorizational false dichotomies.

More information about the es-discuss mailing list