Why don't people like lisp?

Pascal Costanza costanza at web.de
Mon Oct 20 06:41:01 EDT 2003


Ville Vainio wrote:
> wallacethinmintr at eircom.net (Russell Wallace) writes:
> 
> 
>>However, this really applies only when you're doing things the
>>language designer anticipated. The great thing I find about Lisp is
> 
> 
> When I'm really doing something the language designer didn't
> anticipate (and the required features don't already exist), I'm
> probably doing something wrong and need to revise my design
> anyway.

So why is it that Python is continuously evolving as a language? Do you 
think this is going to stop at some stage?

Wouldn't it be better if everyone could contribute to the evolution of a 
language, and then let the community decide what the best approaches are?

See for example, the SRFI approach of the Scheme community.

>>that when I'm doing something the language was _not_ designed to
>>handle, it's not an "oh shit" problem, it's a "well, I suppose I can
>>do this with a few macros" problem.
> 
> One can always go to c.l.py and ask, only to see that the problem is
> easily solved in plain old Python. I think the benefits of Python far
> outweigh the theoretical scenario that I actually needed some feature
> that isn't there, and could be done in Lisp.

The approach for Lisp is to write a domain-specific language for the 
problem at hand, and then to write the program in that domain-specific 
language. (These are not actually two distinct steps, but these parts 
are usually achieved in an evolutionary way.)

If you want to keep your Lisp program in a specific programming style 
(OOP, functional, imperative, etc.) you can do that either. Lisp gives 
you a choice here.

With Python, you have to stick to the constructs the languages give you. 
When you want to add domain-specific abstractions on the language level, 
you have to step outside of the language, and for example use program 
generators. Python doesn't give you a choice here.

This is only to say that in general, we usually don't use macros just to 
"fix" the language, but we want macros because it enables a programming 
style that is not available in most other programming languages.

> Most often the missing
> features involve not having a library to, say, access some database,
> and I doubt Lisp has more than Python to offer in that area.

That's correct.

> Meanwhile, people are voting with their feet: a lot (thousands? don't
> know the exact figure) of people are taught Lisp (well, Scheme, but
> anyway) at colleges/whatever every year, and they abandon it in a
> blink of an eye after the course (obviously this might be because the
> courses emphasize functional programming). Many even think that C++,
> of all things, is easier!

They can't vote with their feet wrt to particular features of the 
programming languages they use, can they?

And as a sidenote, if you are seriously considering to learn and maybe 
use Lisp in practice, you should take a look at _both_ major dialects, 
i.e. Common Lisp and Scheme. They are very different in several 
respects, and if you think that one of them sucks, this doesn't 
necessarily mean that you will also despise the other one.


Pascal

-- 
Pascal Costanza               University of Bonn
mailto:costanza at web.de        Institute of Computer Science III
http://www.pascalcostanza.de  Römerstr. 164, D-53117 Bonn (Germany)





More information about the Python-list mailing list