merits of Lisp vs Python

Bill Atkins atkinw at rpi.edu
Sat Dec 9 18:04:30 EST 2006


"mystilleef" <mystilleef at gmail.com> writes:

>> Macros are not a substitute for libraries, nor are libraries a
>> substitute for macros.  Having macros lets you build more powerful and
>> more expressive libraries.
>>
> And not having them helps you build less powerful and expressive
> libraries?

If you told me a turbocharger makes a car accelerate faster, and I
said, "So not having a turbochanger helps your car accelerate slower?"
what would be your reaction?

>> > How's this a good thing? I don't need a Python environment to grok
>> > Python code.
>>
>> Nor do you need it to grok Lisp code. The environment is there to
>> make your life better.  I was merely responding to your original claim
>> that it's impossible to make sense of code that uses macros.
>>
>
> Not impossible, just painstaking.

No more so than seeing a function you don't understand.  Please be
realistic here.  Read through the other posts in this thread, where
this same issue is refuted ad nauseam.

>> Hmm.  Anecdotal evidence about Scheme (a vastly and fundamentally
>> different language from Common Lisp).  Again, you've clinched it for
>> me.
>>
>
> I don't believe my experience would have been marginally different had
> I used Common Lisp.

Well, believe it.  The languages are very different, although they
appear superficially similar to anyone who isn't familiar with both.
The similarity is much like that between Python and Ruby.  The two
appear to have very similar syntax, but anyone who knows both knows
that they're quite different underneath.

>> I do believe that the "squealing and whining about macros" was a
>> response to Pythonistas claiming that macros are not useful.  This was
>> in turn in response to a foolishly (trollishly?) cross-posted
>> question.  It is not as if we have invaded your newsgroup.
>
> Pythonistas are not saying macros are not useful. They are saying their
> usefulness in overrated, exaggerated and needless in the context of
> Python. They are saying they don't see what they are missing and along
> with the rest of the world couldn't give a damn whether or not it is
> ever implemented in Python. Okay, I can't speak for all Pythonistas,
> but that's what I'm saying.

Of course they're overrated - *because you don't have them*.  It would
be amusing to see how Python's collective tune would change if Guido
issued a royal edict that "Python 3000" (hehehehe) will support
syntactic extensions.  If Python had macros, would you really
complain, or would you appreciate the extra expressive power?

On the other hand, I am willing to agree with all of you Pythoners
that Python is winning in the library department.  So are Perl and
Ruby.  It would be silly for me to claim that libraries are
"overrated," just because other languages have more of them.  The
truth is that I would like to have macros, libraries, and Lisp's
interactive development model, all at once.

But your claim upthread that Lisp doesn't have libraries because it's
not "worthwhile" is unfounded.  When all of the AI companies collapsed
in the late 80's and early 90's, Lisp went comatose by association.
The revival of Lisp as a tool for doing modern programming dates back
only to about 2000 or so.  So six years along, we are behind other
languages that have had active communities for ten years (Ruby),
fifteen years (Python), and nearly twenty years (Perl).  I am not
worried about the future of Lisp libraries.  We already have some:

 - CL-PPCRE, a pure-Lisp regular expression package that is faster than Perl's
 - Hunchentoot, a complete web server and web development framework
 - CAPI, a proprietary but excellent GUI library
 - CommonSQL (and CLSQL, its open-source offspring)
 - parenscript, an embeddable Lisp that compiles to Javascript, letting 
   you use macros in your Javascript code
 - assorted useful libraries, like MD5, base64, SDL, XML parsers, web
   page fetchers, testing frameworks
 - bindings to the common C libraries, like GD, Tk, Gtk+

We will get there, in time.  Lisp is still the only language in
history to linger in "mostly dead" status for a decade and then be
resurrected; it is capable of more surprises yet.



More information about the Python-list mailing list