Why is Python popular, while Lisp and Scheme aren't?

Carl Banks imbosol at vt.edu
Fri Nov 15 21:54:42 EST 2002


maney at pobox.com wrote:
> Carl Banks <imbosol at vt.edu> wrote:
>> Whoa--what about all that passing-state-around stuff you mentioned in
>> another message?
> 
> I'm trying to imagine what I described that has anything to do with this
> next bit, and I keep failing.

You mentioned the problems with passing a lot of parameters into a
function when I said I liked to factor the set-and-test chain into its
own function so I could use return to break out of it.  At least,
that's how I understood it, and it is a drawback to refactoring (or it
was before nested scopes came to pass).

But, if you write a function so that you do a lot of things before the
if condition (which you said you could do when I said an assignment
operator didn't cover the cases where you had a lot of things to do
before the if operator), you would have the same problem.


>> What if you have more than one value to assign (that would need to be used
>> inside the if clause)?  Sorry, but I must disagree again.  It's an
>> incomplete solution.
> 
> I never said it was a contender in the "generality for the sake of
> generality" sweepstakes... but then, in light of OP's question and my own
> feelings about Python and Lisp and the other languages mentioned, I wonder
> if that (gftsog) might not be an important part of the answer to his
> question.

Well, my feelings about generality are this: if you implement a
partial solution, that leaves the possibility that you might implement
a full solution someday, in which case the partial solution you put in
before is now redundant.  But once you've put something in, you can't
take it out without breaking backwards-compatibility, so you're stuck
with it.

I.e., it's generality for the sake of not having more than one way to
do it.  Which, of course, is The Python Way(tm).


-- 
CARL BANKS



More information about the Python-list mailing list