merits of Lisp vs Python

Paul Rubin http
Sat Dec 9 18:18:54 EST 2006


"mystilleef" <mystilleef at gmail.com> writes:
> Advantages of Python:
> 
> 1). More and better mature standard libraries (Languages don't matter,
> libraries do).

Erm, somewhat true, but Python's library is overrated.  Lisp's on the
other hand is out of date.

> 2). Multiple programming paradigms (including functional style
> programming see itertools, functools, operator modules (lambda, map,
> filter, reduce, sum etc builtins), higher order functions, list
> comprehension, blah, blah)

Getting there but still full of warts.

> 3). Better OO implementation. (I used to hate OO until I started using
> Python)

Have you used CLOS?  Flavors?

> 4). Ultimate glue language (Plays well with C, C++, Java, .NET. nuff
> said. Bindings for almost any lib worth using, at least on *nix)

Hmm, Python's C API is awful compared with the FFI's in reasonable
Lisp implementations or to Java's JNI.

> 5). Clearer syntax.

OK.

> 6). Better namespace management. (nobody ever talks about this, but
> Python seems to be one of the few languages that gets symbol management
> right from a users perspective)

I dunno, Python gets some things completely wrong in this regard.

> 7). Easier packaging and distribution system.

Because there's basically just one Python implementation (CPython).

> 8). Ubiquity! Python is everywhere. Lisp, bleh.

Not so sure of this, unless you're limiting to Common Lisp.  There are
Lisp systems out there that use as little as 20k of memory, running
inside cellular phones etc.  By comparison an attempt to shoehorn
Python into the 1 megabyte Palm handheld computer was abandoned.

> 9). Relatively good docs (PHP has better).

Lisp's docs are far superior to Python's.  This is one of the areas
where I bag on Python all the time. 

> 10). Fewer perceived community assholes. Large community.
> 11). Less fragmentation.

True and true.

> Advantages of Lisp:
> 
> Learning a functional language can improve your programming range and
> depth. And today, I wouldn't even recommend Lisp (it's rather archaic),
> when there's mind bending Haskell. I'd go as far as saying I believe
> Haskell has a better fate than Lisp.

I don't really of think Lisp as a functional language; its data
representation is what makes it worth knowing.  Despite years of
experience with Lisp and Python I'm still having trouble wrapping my
head around Haskell, and that tells me Haskell is really doing stuff
that Lisp does not.

> On Lisp Macros:
> 
> I think they are overrated, and in general cause more harm than good.
> It's the reason I find Lisp-like programs difficult to grok, maintain
> and extend. Cos every smart ass wants to needlessly write his own mini
> language to the point of absolute obfuscation. Naturally, I'm supposed
> to be awed by his mischievous cleverness.

There is certainly the possibility of writing Lisp code that way, but
it's not all that big a problem when the code is written tastefully.

> Conclusion:
> 
> The semantics or features of a language is almost irrelevant today.
> Developers want to put the lego pieces together, they don't want to
> make lego. Rewriting the sun and moon, or needlessly reinvent the wheel
> was popular in the 70s, but it's boring and expensive today. Today,
> when a developer needs to solve a problem, the question they ask is,
> "Is there a library for that?". 

But it seems to me that Java crushes Python in this regard.



More information about the Python-list mailing list