Why is Python popular, while Lisp and Scheme aren't?

Eddie Corns eddie at holyrood.ed.ac.uk
Fri Nov 8 15:34:13 EST 2002


Fernando =?ISO-8859-1?Q?P=E9rez?= <fperez528 at yahoo.com> writes:

>Eddie Corns wrote:

>>>I don't know much about Python, but I looked at this comparison
>>>between Python and Common Lisp (
>>>http://www.norvig.com/python-lisp.html ), and I couldn't help but
>>>wonder why Python is popular, while Common Lisp and Scheme aren't?
>> 
>> My opinion (the short version anyway) is that because Python is a lot easier
>> to learn and use.  It's a bit like the difference between a point and click
>> camera and a 'real' one - to use a 'real' camera for even a simple photo you
>> need to understand the whole biz.  However, unlike some languages I won't
>> mention, Python does its best to give the max. power (of Scheme,Haskell
>> etc.) for the max. ease of use.

>Flawed analogy, I think. 

>I'd rather say: python is like a modern SLR with full auto modes: you can use 
>it like a point'n'shoot, but still get very good results and the benefit of 
>good lenses and a sophisticated exposure system. But once you move the dial 
>to the 'manual' zone (P,Tv,Av,M for the photo-buffs) you are on your own, 
>with as much control as you want (from simple adjustments in P to full manual 
>in M).

>So in python the beginner feels comfortable, but he can grow into 
>sophisticated things without the tool _ever_ getting in his way. That's why 
>the point'n'shoot analogy is bad: in that case, the tool gets in your way and 
>limits what you can do. 

>If you want, Pascal is the point'n'shoot of programming languages: easy for 
>beginners, utterly useless for serious work (yes, I wrote tons of pascal back 
>in the day,  so I know what I'm talking about).

>Lisp feels more like a viewcamera. You can't get _anything_ done unless you 
>understand the fundamentals very well. But if you do, there are some very 
>fancy things you can do.

Obviously one doesn't want to push an analogy too far but anyway it depends on
what you think of as 'manual', I'm thinking call/cc and roll your own OO
systems and ...  A modern point'n'shoot will allow you to do many of the
things real professionals do (I hope so anyway I'm about to buy one!) but not
the most extreme.  Likewise there are things Scheme can do that would be crazy
to try in Python.  Perhaps I'm being optimistic about the capabilities of
modern p'n's cameras but my impression is most of us wouldn't really want to
venture much outside what they can do - so they don't get in the way.

Anyway, that's my say on the topic - now it's time to go home and feed the
cat.

Eddie



More information about the Python-list mailing list