[E-Lang] down with `define' (was: newbie syntax: picayune points from a prejudiced programmer)

Marc Stiegler marcs@skyhunter.com
Fri, 2 Mar 2001 10:46:59 -0700


> I'm finding it strange that you are so wed to the word "new".

As explained at length in earlier email, the original adoption of the
current "new" convention is the only reason I'm still involved with this
effort. So yeah, I am wed to it unless and until someone has a better
breakthrough on the beginner-mental-model front. I cannot at the moment
visualize a convention that I'd trust that doesn't include either "class" or
"new" or preferably both (though I'd be delighted to see some
counterproposals, of course :-).

My personal experience of nearly abandoning the language in the absence of
"new" either makes me "better informed" or "hopelessly prejudiced",
depending on your point of view :-) In fact, I think the answer is that the
experience made me both informed and prejudiced :-) Risk-averseness suggests
taking seriously the possibility that I am more "informed" than
"prejudiced", however.

There is some history suggesting we should fear that I am indeed "informed".
Though I have thankfully forgotten the no-doubt-numerous times when I was
merely prejudiced, I can point at a similar situation, in E development,
where I was informed. This was the debate over whether methods should
default to void or any if the ":type" declaration was missing. I argued with
markm to make the default void for what in retrospect feels like months,
with ever increasing emotional vigor based on the frequency with which I was
introducing "technical security breaches" by accident because of the any
default. The discussion in the email threads is only a dim reflection of the
"rants" I engaged markm with privately.

Markm went blithely on his way until, fortunately, he wrote just enough
actual E code (as opposed to E infrastructure :-) to experience the problem
himself. And it was only then that victory for the future of capabilities
was achieved :-)

This problem with the beginner-mental-model is much worse from the point of
view of persuading on-the-list people that it is serious. Markm, whose brain
is a lambda-machine, will never see an issue here. Most everyone else in
this discussion falls more or less in the same category. What is really
frightening is that I too have evolved over the course of time into a
reluctant but reasonably facile lambda-guy. If you only had to sell this new
syntax to marcs2001, he'd say "fine". But marcs2001 is a ruined
problem-detector; I only have marcs1999 with which to analyze the problem.
And though I am delighted having Zooko doing his inspection, I believe
Zooko's reactions should be trusted less than marcs1999, because Zooko is
too smart a guy (after all, he thinks the transition from java to python is
easy! :-)

The correct answer, of course, is to get 10,000 programmers to investigate
the language, and see what they say...which is where we circle back around
and bite ourselves with the original problem :-)

--marcs