merits of Lisp vs Python

Steven D'Aprano steve at REMOVE.THIS.cybersource.com.au
Sat Dec 9 21:57:37 EST 2006


On Sat, 09 Dec 2006 14:40:07 -0800, webraviteja wrote:

> Personally, I find it strange that we, who argued so many times for
> dynamic typing, the need for expressiveness and that it is OK to trust
> the programmer with power ("we are all adults here" argument) while
> arguing against relatively restrictive languages like Java find macros,
> a chaotic and disruptive concept.

Why? The benefit of expressiveness and power isn't monotonically
increasing. Look at us: we're all communicating in a common language,
English, and we all agree on syntax and grammar. Now, I could be a lot
more expressive, and language could be a lot more powerful, if I could
define my own language where "You are a poopy-head" was in fact a detailed
and devastatingly accurate and complete explanation for why Python was a
better language than Lisp. You, however, not being an expert in my far
greater expressive language, would see none of that, and would be under
the mistaken impression that I was insulting you.

So it is good that English restricts the expressiveness and power of the
syntax and grammar. While we're talking English, we can both understand
each other, and in fact people who redefine words and ignore the common
meaning of them are often covering weaknesses in their arguments.

The same goes for programming languages. Extra expressiveness comes at the
cost of reduced communication between programmers -- the code becomes
harder to read for those who haven't already learnt how to read it. So
there is no contradiction in the positions that "we are all adults here"
and "macros give too much power". The first is a design decision, the
second is a trade-off, just like the lack of C-style pointers in Python is
a trade-off.



-- 
Steven.




More information about the Python-list mailing list