merits of Lisp vs Python

josephoswaldgg@hotmail.com josephoswald at gmail.com
Thu Dec 14 08:15:08 EST 2006


Neil Cerutti wrote:
> On 2006-12-14, josephoswaldgg at hotmail.com <josephoswald at gmail.com> wrote:
> >
> > Neil Cerutti wrote:
> >> On 2006-12-13, josephoswaldgg at hotmail.com
> >> <josephoswald at gmail.com> wrote:
> >> > Expressions keep the same meaning even if you have to start
> >> > breaking them across lines, etc.
> >>
> >> Yes, it's the same way in Python. Of course, not everything is
> >> an expression in Python, so it's not saying quite as much.
> >
> > I fail to see how it is the same in Python.
>
> if self.flee == (foo.humble(pie) / 500 * hats
>     + hippity.hoppity)
>
> The indentation of the second line of that expression is entirely
> irrelevant to Python. The parenthesis I added means I don't have
> to use the new-line escape character (\), either.

Is this so unconscious that you don't recognize you are doing it, even
though you take a sentence to explain what you had to do to work around
it? Adding parentheses, new-line escape characters---all this is a
burden specific to Python.


> > How does a manual correction process come out as simple as
> > "don't bother fixing the indentation if you don't care."?
> >
> > This is exactly the questionable math that I was questioning in
> > the original post.
>
> Python simply replaces one manual process (moving to the correct
> scope (usually sitting on an open or close parenthesis) and then
> hitting the grab-s-expr command) with another (after pasting,
> correct the indentation--generally a trivial task). I think it's
> a major stretch to call either process anything but trivially
> easy for an experiences user of the language.

The reformatting (admittedly generally trivial, although again your
qualifier of "generally" undermines your point) process is extra in
Python. Period.

1) Recognizing where your code begins and ends to begin the copy-paste
process is not unique to either. Equal.
2) In a python-aware editor, I presume the grab-block keystroke exists
and is equivalent to grab-s-expr. Or, you have to manually select to
tell the editor where the block ends. Equal.
3) Recognizing where you want to paste is the same. Equal.
4) The paste keystroke is presumed Equal.

Lispers are done here.

5) After you are done, Pythonistas admit there is a possible step
called "manually correct the indentation."

Can I be any clearer? Now, you can say 5 is usually generally trivially
easy for an experienced Pythonista in 'the flow' or whatever you like,
but it just is not there for Lisp.

This is pointless discussion if you guys can't even see what you are
saying when you write it in your own posts.

By the way, you guys seem fixate on the parentheses of Lisp without
having the experience which shows that open parens are trivial to find,
because they don't occur in clumps and they are marked by the operator
symbol. The close parens occur in somewhat ugly clumps, but the editor
is the only thing that needs to deal with them.




More information about the Python-list mailing list