Re: LISP (Was: Re: pyton & perl)
On Fri, 30 Mar 2001, Gudmundur Erlingsson wrote:
> Ok, It seems like the cool-factor of LISP is as high as you can get, but what
> are it's practical merits? If one intends to hack Emacs, then LISP is of
> course essential, but does it go beyond that? (I'm thinking practical, it of
> course would be quite interesting to learn from a CS standpoint) Anyone have
> an opinion, or am I just starting another futile flamefest?
You probably are, but I can't resist the challenge. :-)
Nested and especially recursive structures are natural in LISP. So are
trees and more general linked networks. These are the fundamental
datatype in LISP, and it takes care of all the nasty bookkeeping for
you. What you do in LISP can be done in just about any other language,
but you'd spend more time constructing scaffolding and less on expressing
Pattern recognition is a good problem domain for LISP. It's been used a
lot for parsing ugly ad-hoc languages (like English :-) and digging
structure out of heaps of seemingly chaotic data.
LISP is not so hot for sequential programming -- in fact, it's
discouraged. The correct idiom in LISP is composition of functions. If
your task is best expressed as a purely mathematical relationship between
input and output, then LISP will like it and it may be one of the best
choices for coding your solution. If your task is mostly sequences of
identical operations, you can use LISP but you probably shouldn't.
(I would never represent myself as a LISP hacker, so take my word with a
grain of salt. I've written *one* functioning idiomatic LISP
program. I've studied quite a bit of LISP code and the problems it's
used for, though.)
Mark H. Wood, Lead System Programmer mwood@IUPUI.Edu
Make a good day.