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

Courageous jkraska at san.rr.com
Tue Dec 3 22:59:04 EST 2002


>I /was/ pleased by how clean Python code looked, but as we all seem to 
>be agreeing here, there is a trade-off.

Oh, sure! What the s-expression does well, it does well. That's one
thing that really miffs me about XML, actually. XML is a fine way to
make an s-expression into a genuine abortion. Given my negative feeling
towards having to look at deeply nested s-expressions daily, I suppose
you can imagine my position regarding XML yes? Need I say more? :)

>                                        I realized doing Python how 
>attached I was to the Lisp Way in which every form returns a value:

I enjoy the semantic of the last value referenced always being the
return value of any form. This is a genuinely useful methodology, IMO,
although I think that the rule "explicit is better than implicit" is
likely to be best in a language intended to be approachable to the
largest possible audience.

><g> I just ignore half of them and use map*, dolist, and (rarely) dotimes.

Well, same here. Map every where, and generic ANSI common lisp loops for most
everything else. But consider now the work flow with multiple programmers
working together: isn't it true that if you're reading code written by
n programmers with n preferences, the number of these particular forms
that are "preferred" (you didn't mention loop, I did, hint, hint) is likely
to expand? This is the same reason that Perl gets facetiously referred to
as a "write only language."

>Yeah, I have done some sick things with macros. Python seems to have 
>most of the raw power of CL so the potential for great functionality is 
>there, but macros let me take things one step further for the programmer.

I was working a while back on some toy experiments involving using a macro
language in a clean roomed python knock off that actually edit the parse
trees directly. Then I got married. Need I say more? :) :)

C//




More information about the Python-list mailing list