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

Robin Munn rmunn at pobox.com
Wed Nov 27 12:44:12 EST 2002


Jens Axel Søgaard <usenet at jasoegaard.dk> wrote:
> Oleg 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?
> 
> Perhaps this scenario is common:
> 
>    Functional languages such as ML is introduced in semantics.
>    Semantics is hard.
> 
>    Students think "ML is hard".
> 
> Later students are told "You can use Scheme/Lisp as a functional
> programming language.
> 
>    They think: "Scheme/Lisp is hard - and why all the ()'s?".
> 
> 
> Is this far fetched?

Not really. It wasn't my experience, but it was pretty close. We jumped
right in with Lisp. So we were learning a new style of programming,
functional programming, which we had to wrap our brains around. At the
same time, we were dealing with a syntax that *needs* help from a good
editor to be readable -- which is something the prof didn't explain well
enough. And even those who were using a good editor (I was using xemacs,
which had color highlighting) didn't know how to use it well. It keeps on
changing my indentation level! Why is it doing that?! If I'd known
enough to trust the editor's decision about indentation, I would have
done a bit better, but I never got any "Good Indentation Guidelines" or
anything like that. Incidentally, can someone point me to such a thing?

For me, what turned me off of Lisp as a student was the fact that I was
simultaneously fighting an unfamiliar editor, using a syntax I didn't
like (and getting no help from the editor because I didn't know how to
use it properly), and *at the same time* wrapping my mind around a new
concept of programming. It's not surprising that I gave up on Lisp at
the time.

Now that I've gotten productive in Python, I may give Lisp another try,
although I think I'll study Haskell first as a kind of stepping-stone
(functional programming without the parentheses-heavy syntax). But what
I'd really like before I try Lisp again is a special color-highlighting
mode that would distinguish between deeply-nested parentheses, either
coloring the parentheses themselves or else all the text between said
parentheses. Something like this:

(first
    (second
        (third
            (fourth
            )
        )
    )
)

where each indentation level would be a different color (foreground?
background?). I wonder how hard it would be to modify lisp.vim to allow
this? Well, that's not a project I really have time for at the moment;
maybe later on.

-- 
Robin Munn <rmunn at pobox.com>
http://www.rmunn.com/
PGP key ID: 0x6AFB6838    50FF 2478 CFFB 081A 8338  54F7 845D ACFD 6AFB 6838



More information about the Python-list mailing list