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

Johannes Grødem johs+n at ifi.uio.no
Sat Nov 9 09:59:47 EST 2002


* Carl Banks <imbosol at vt.edu>:

> Python represents logical nesting the same way human read it, by
> indentation.  Lisp repesents all nesting with parentheses, [...]

When you program in Lisp, you (your editor) indents blocks for you,
which makes it easy to see block structure.  Noone actually manually
count parentheses.  (All sane editors support paren-matching.)

> Python uses infix notation for math.  Most humans were brought up to
> understand infix.

Because Lisp has a powerful macro system, it is actually possible to
have an infix-macro, which lets you use infix-syntax.  And you can
write macros to support all sorts of weird syntax, if you want.

> The reason Python programmers often don't have to think about it
> is most of the time it's intuitive.  [Evaluation order.]

And when is it not intuitive in Lisp?  Sure, you can write macros that
evaluate arguments in unintuitive order, but why would you?  For
functions, arguments are evaluated left-to-right, just as you would
expect.

Maybe you're confusing Lisp with Scheme?

-- 
Johannes Grødem <OpenPGP: 5055654C>



More information about the Python-list mailing list