Why stay with lisp when there are python and perl?

Tim Bradshaw tfb+google at tfeb.org
Fri May 4 05:13:26 EDT 2007


On May 4, 3:06 am, Jon Harrop <j... at ffconsultancy.com> wrote:
>
> Lisp compilers are much more advanced, for one thing.

Though I hesitate to respond in this thread (and I didn't actually
read the rest of the article) there's actually a valid point here.

The last programming job I did involved doing some search stuff in
Python.  I think Python had been chosen for almost (but actually not)
good reasons - people really wanted to use Lisp but it would have been
too hard (politically and technically), and the same people had recent
first-hand experience of some of the worse horrors of J2EE programming
so were negative about Java.  Finally Python actually had the required
stuff (the ability to mmap files was critical to the proposed
technique for doing the search).  (The reasons were actually not good
because Java could have done it as well, and if we'd had the courage
we could have done a POJO-style Java thing which would have been fine
and set a good example to other people, which as it was we failed
dismally to do.  On the other hand they'd not have hired me - despite
the fact that even by then I didn't care about language choice with a
few exceptions (C++), I didn't look enough like a Java person (and
still don't of course).)

Anyway the experience of writing in Python was kind of interesting.
It had the usual single-implementation issues common to such things
which meant we depended on the right version (and I think a later
version than the one shipped with the OS since they'd decided to
change semantics in some quite major way at some point).  But apart
from that writing programs that performed well (for us - we actually
had performance issues since we wanted to look at a lot of data)
turned out to be a matter of making sure that all the performance-
critical bits were done in libraries (in C) with Python merely a kind
of elaborate glue to get in the way.  It was a bit like writing code
for an array processor or a DSP or something, except without any good
hardware reason for it.  So one of the things I learned was "use a
language with a decent compiler"[*] I think.

--tim

[*] No glib comments about Java not having a decent compiler: actually
typical implementations do now (or did in 2004/5 and I bet they are
better now).




More information about the Python-list mailing list