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

Douglas Alan doug at
Fri Jun 22 07:43:54 CEST 2007

"Terry Reedy" <tjreedy at> writes:

> | It allows the community to develop language features in a modular way
> | without having to sully the code base for the language itself.
> [etc]

> Some of the strongest opposition to adding macros to Python comes
> from people like Alex Martelli who have had experience with them in
> *multi-person production* projects.  He claimed in various posts
> that the net effect was to reduce productivity.  So convince us (and
> Guido!) that he is wrong ;-)

I'm not convinced that Guido is wrong because I know that he has at
least occasionally mused that he might someday consider a macro
facility for Python.

Alex Martelli, on the other hand, although an extremely smart guy,
seems to me to often be over-opinionated and dismissive.

Regarding being on a project where people used macros poorly, I've
also been on projects where people did a poor job of OO design, and a
non-OO design would have been better than the crappy OO design that
was ultimately used.  Does that mean that we should remove the OO
features from Python?

Paul Graham made it rich implementing Yahoo Stores in Lisp, and claims
that heavy use of macros is one of the reasons that he was able to
stay well-ahead of all the competition.  So, maybe Paul and Alex can
duke it out.  Personally, I like Paul's style better.  And he's made a
lot more money using his theory of software design.

> But I would prefer you somehow try to help make usable multi-arg and 
> predicate dispatch a reality.

Alas, I can't stand programming in C, so there's no way I'm going to
dive that deeply into the CPython code base.  If I could help
implement it in Python itself, using a good macro facility, sign me up!


More information about the Python-list mailing list