Python's "only one way to do it" philosophy isn't good?

Steven D'Aprano steven at
Wed Jun 20 12:54:55 CEST 2007

On Tue, 19 Jun 2007 20:16:28 -0400, Douglas Alan wrote:

> Steven D'Aprano <steve at> writes:
>> On Tue, 19 Jun 2007 17:46:35 -0400, Douglas Alan wrote:
>>> I think that most people who program in Scheme these days don't do it
>>> to write practical software.  They either do it to have fun, or for
>>> academic purposes.  On the other hand, most people who program in
>>> Python are trying to get real work done.  Which is precisely why I
>>> program a lot in Python and very little in Scheme these days.  It's
>>> nice to have the batteries included.
>> So, once you've succeeded in your campaign to make Python more like
>> Scheme, what language will you use for getting real work done?
> The problem with using Scheme for real work is that it doesn't come with
> enough batteries included and there isn't a big enough of a community
> behind it that uses it for real work.

And yet there have been so many millions of dollars put into developing 

I guess this is another example of perfection being the enemy of the 
good. All that development into Lisp/Scheme to make it the best, purest, 
most ideal programming language, with such flexibility and extensibility. 
that nobody wants to use it. You can write any library and macro system 
you need, but nobody has.

I don't mean literally nobody, of course. Its a figure of speech. But it 
seems that people tend to program in Scheme for fun, or to stretch the 
boundaries of what's possible, and not to Get The Job Done.

>> And how long will it take before Schemers start agitating for it to
>> become more like Scheme?
>> There is a huge gulf between the claim that Python needs to be more
>> Scheme-like, and the fact that by your own admission you use Python,
>> not Scheme, for real work. What benefit will be gained? The ability to
>> "directly explore some pretty mind-bending stuff ... in a hackerly,
>> brain-expanding/brain-teaser kind of way"?
> Well, go to MIT and take SICP and then the graduate-level sequel to the
> class, Adventures in Advanced Symbolic Programming, and then you'll see
> what some of the advantages would be.

Are you suggesting that the only way to see the advantages of Scheme is 
to do a university course?

> A good multimethod system, e.g., would make Python a significantly nicer
> language for my purposes, for instance.

> For the record, I have a huge problem with NIH-syndrome, and think that
> every programming language in the world could learn a thing or two from
> what other languages have gotten right.

Of course. And Python, more than most, has shamelessly copied features 
from other languages. So the question is, are Scheme macros one of those 
things that "other languages have gotten right"? Could they be a case of 
over-generalization? Or somewhere in between?


More information about the Python-list mailing list