From: ·······@gmail.com
Subject: Re: Anyone persuaded by "merits of Lisp vs Python"?
Date: 
Message-ID: <1167459454.002991.64260@48g2000cwx.googlegroups.com>
Paddy3118 wrote:
> This month there was/is a 1000+ long thread called:
>  "merits of Lisp vs Python"
> In comp.lang.lisp.
>
> If you followed even parts of the thread, AND previously
> used only one of the languages AND (and this is the
> crucial bit), were persuaded to have a more positive view
> of the other language; (deep breath, this is a long, as
> well as grammatically incorrect sentence), THEN WHY NOT
> POST ON WHAT ARGUMENTS PERSUADED YOU.
>

I fail two thirds of your requirements - at least now.  However,
several years ago, I knew Python and was only passingly familiar with
Lisp.  To me, at that time, Lisp was a language where the
compiler/interpreter writers were too lazy to write a real parser. "I
object to doing things that computers can do" [1].

I wasn't completely happy with Python though.  It does threads poorly
(no concurrency unless you release the GIL in a C extension).  The
buffer protocol has issues (particularly if you release the GIL) [2].
The Numpy stuff is bogged down with it's own backward compatible
history.  Tkinter leaks memory if you're not careful with it.  Adding a
C extension is non-trivial and takes your application from being a
collection of scripts to a distutils driven thing.  These are real
issues that I still bump my head on (because I still use Python a lot
of the time).  For those reasons, I'm still searching for a better
language for my needs.

Anyway, at that time, I saw an article about adding Hygienic Macros to
Python.  The term caught my attention, and it was shot down in the
Python world.  Of course, malcontent that I am, I had to go find out
what that was about.  I had already seen how in Tcl you could create
new constructs. [3]  Turns out Scheme and Common Lisp take that idea to
a new and higher place.

I found out the reason Lispers [4] stuck with their lazily written
parsers is that in exchange for infix operators, they can pretty much
assimilate any other language.  Here is an easily readable piece of
Python:

    def doit(n):
       for i in xrange(n):
          print i

With very little effort, here it is in Scheme:

    (def doit(n)
       (for i in (xrange n)
          (print i)))

Don't any other Pythonistas find that interesting?  Scheme could suck
in all of Python's beloved semantics with an incredibly similar syntax
in a couple days. [5]  It was an interesting revelation to me.  Then if
you wanted to add new features (Python 2.5 "with" for example), you
could do it yourself.  Moreover, you could steal good features from
other languages too.

The point to all of this is that the cross pollination is arguably a
good thing. [6]  If the Schemer's had stuck in their camp, I would
never had known that they had something worth looking at.  This is the
same way that I was happily using Perl in college, and some Perl/Python
exchange got me to look at Python.


> OTHERWISE LET THIS POST WITHER AND DIE ALONE.

It will die on it's own.  Add it to your killfile, ignore it in Google
Groups whatever.  More bandwidth was wasted by Paris Hilton and Britney
Spears than in this winding thread...

Cheers.



[1] A quote from Olin Shivers, and apparently he likes Lisp.  That
struck me as ironic at first.

[2] Interestingly, Jython handles threads and buffers much better
because it's built on a virtual machine that considers those important.
 Of course with Jython, you have to embrace the rest of the Java
environment...

[3] I thought it was particularly cool how Tcl could bolt on a class
based object oriented system as a library.  The word "class" isn't
built into the language, but that kind of evaluator lets you add it.

[4] I don't consider myself a Lisper or Schemer.  I'm just exploring
the programming language space trying to learn new ideas.

[5] Incidently, I haven't found the version of Scheme that gives me
concurrent threads, efficient buffers, C FFI, and numeric arrays the
way I want, but I'm still looking.

[6] Kenny Tilton pointed that out several times in the other thread.
There are many more lurkers looking and learning than posters posting.
From: Lawrence D'Oliveiro
Subject: Re: Anyone persuaded by "merits of Lisp vs Python"?
Date: 
Message-ID: <enkr3f$lqa$1@lust.ihug.co.nz>
In message <·······················@48g2000cwx.googlegroups.com>,
·······@gmail.com wrote:

> [3] I thought it was particularly cool how Tcl could bolt on a class
> based object oriented system as a library.  The word "class" isn't
> built into the language, but that kind of evaluator lets you add it.

I have written about two notrivial scripts in Tcl. I don't think I will ever
bother to write another, particularly since I now know Python. Dealing with
arrays is an absolute pain, because the language doesn't have references
and arrays as first-class objects.