[E-Lang] on what does popularity hinge? (was: down with `define' (was: newbie syntax: picayune points from a prejudiced programmer))
Tyler Close
tclose@oilspace.com
Mon, 5 Mar 2001 09:43:40 -0000
Zooko wrote:
> Tyler wrote:
>
> > E's popularity hinges on how quickly people can become
> productive with
> > it.
>
>
> Heh heh heh. I wish I could agree, but I think that this is the
> _third_ hurdle after the "word-of-mouth" and the
> "_EiaWalnut_" hurdles.
"word-of-mouth" isn't a "big-bang" phenomenon. It doesn't
spontaneously come into existence of its own accord. "word-of-mouth"
is built on positive stories. In programming, positive stories come
productivity. "It was really easy to do this really cool thing!"
>From an earlier message of yours:
> The second hurdle is when someone is reading _EiaWalnut_. What they
> think at that time about "how easy it is to define classes, create
> objects of that class, and create subclasses which re-use
> the code from
> other classes" will be a major factor in determing whether they
> continue, as well as what information about E leaks back
> from them to
> the mass of chatterers described in the paragraph above.
I think the backwards leaking of information that you mention is
actually the key to developing strong word-of-mouth. Every time I've
learned a new language (voluntarily) it's because someone I respect
has said that it's a really useful language. Ping has gotten me to
learn a succession of languages in this way, including E.
> If E doesn't get a very wide community past those first two hurdles
> then no matter how productive it is, it can join a very long list of
> other delightfully elegant languages that nobody really uses.
Elegance and productivity may be related, but that's not the issue.
The issue is "What did Ping tell me about E?" If Ping had found it too
difficult to do anything in E, he either wouldn't have referred me to
it, or said "don't bother".
> Hm. So in fact, I have to relegate "effective coding with
> delegation
> and object-based models" to a *fourth* hurdle:
>
> 1. Word-of-mouth
>
> 2. _E_in_a_Walnut_
>
> 3. Being able to code something small (in my case a personal radio
> station to play random mp3s and to generate a web page
> showing what
> I was listening to) within a few hours of learning.
>
> 4. Being able to code big projects effectively.
>
>
> I think for #3 you want to support the traditional
> class-based mental
> model as seamlessly as possible so that not until the programmer
> reaches step 4 (which is weeks or months later) do they
> start wondering
> what's under the hood or start using delegation instead of
> inheritance.
When I talk about "productive use", I mean both #3 and #4.
Tyler