Dumb python questions

Alex Martelli aleaxit at yahoo.com
Thu Aug 16 22:32:43 CEST 2001

"Paul Rubin" <phr-n2001 at nightsong.com> wrote in message
news:7xu1z8pv9t.fsf at ruckus.brouhaha.com...
> If you look at the evolution of Scheme, the designers tried very hard
> to get things right from the start, rather than doing what was
> convenient and fixing it later.

Maybe that's the reason I was using Scheme 20 years ago and am
a Python fan today...?-)

"Common Lisp (with CLOS) and Scheme represent the MIT approach
to design and implementation ... [while] ... Unix and C are examples
of  ... ``New Jersey approach.'' ... I believe that worse-is-better,
even in its strawman form, has better survival characteristics than
the-right-thing, and that the New Jersey approach when used for
software is a better approach than the MIT approach".

The Rise of ``Worse is Better'', By Richard Gabriel --

Gabriel has repeatedly argued both sides of the question, of course.

But it's interesting to notice how many aspects of "worse is better",
once you take out the caricature/strawman sides of it, reflect some
of the approaches of Extreme Programming (XP).

> That's fair too.  Here's something I don't understand: why is it that
> the default value of a function arg is evaluated just once, instead of
> whenever the function is called?  The manual has a warning about that
> and examples of how to program around it, but it seems like poor
> design to need such a warning.

A warning would *DEFINITELY* be needed if default arguments
*WEREN'T* evaluated as part of the def statement -- it would be
absolutely astonishing to me (and to anybody else coming from
C++, I guess); what language, if any, does this kind of 'lazy
*repeated* evaluation'...?


More information about the Python-list mailing list