merits of Lisp vs Python

Ravi Teja webraviteja at gmail.com
Sun Dec 10 19:39:39 EST 2006


> 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.

I think we all agree that with flexibility comes abuse "potential". But
if that potential will actually be likely realized or that we are just
being scared of a phantom can only be determined by empirical evidence.
While, reliable empirical evidence is hard to get in programming
languages, we can only ask the people who use the languages which
support features like macros and tell us what they feel about them
rather than make arguments based on hypothetical possibilities.

So far I am hearing a near unanimous statement from users of these
languages that while there is abuse potential, they do not use it in
that manner and that they are glad that the feature is available than
not. Of course, people tend to defend the languages (or just about any
skill) that they have invested in. Especially when they are not aware
of the alternatives. But this does not seem to be the case with these
people. Macros continue to be incorporated in the latest languages
(OCaml, Boo, Nemerle) with no reports of abuse.

But then again, Python may not be the right language for macros. We try
to have a language that is easy for beginners while having sufficient
richness for advanced users. The abuse potential could potentially be
higher with excess expressiveness as we have seen with Perl. That might
be a good argument to not make Macros a part of language but not so
much as to not have external support.

I doubt that Logix did not catch on because people thought it was too
dangerous to use. 3 likely reasons are.
1. They did not hear about it.
2. They did not understand it.
3. The current implementation is slow.

> 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.

This is exactly what I meant by a phantom. Could you show me some any
Lisp macros in the wild that show this kind of abuse?

You could just as egregiously abuse Python's dynamic typing and
metaclasses. And it is likely that some do that. But I have not seen
any Python library worth mentioning with such abuse. All the Python
programmers I have seen, seem a lot more sensible than you seem to give
credit. And that is the whole point of "We are all adults here"
argument that you seem to side step.




More information about the Python-list mailing list