Dumb python questions
Alex Martelli
aleaxit at yahoo.com
Thu Aug 16 16:32:43 EDT 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 --
http://www.jwz.org/doc/worse-is-better.html
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'...?
Alex
More information about the Python-list
mailing list