[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "Python for Lisp Programmers"
Michael Vanier wrote:
> > > Syntax has an awful lot to do with ease of learning; a simple,
> > > intuitive, consistent syntax is very easy to learn.
> >
> > I can see how Lisp's syntax utterly fails this test. It is clearly
> > anything but simple or consistent. Yeah.
>
> Simple and consistent, but not intuitive at first for most people. You
> have to grant that.
Notice I didn't *say* intuitive.
That said, I don't think your claim is all that obvious to me.
Lookit: when I first sit down to program, my only intuitive
programming language is English, or Magyar, or Tamil, or Tagalog, or
whatever it is I speak with other automata (aka, people).
Every programming language is artificial. If I know even a little
arithmetic, there's no good reason why I should use `*' for
multiplication -- except that the multiplication character isn't on my
keyboard. As Dan Weinreb and others have said, ditto for using a
slash for division. And what's with all the parens being the same
height? And math notation is itself an arbitrary collection of
cultural assumptions.
You, Mike, clearly have a lot of experience with Algolish syntaxes.
So do most of the other people on this list. So did I. So the first
time we see parenthetical syntax, it's a bit of a shock to the
system. Some of us hate it, others wonder why it took so long to find
a language that looked like it. I know all that.
But for a person not familiar with programming languages, they don't
suffer from this baggage! Do most people come to scripting from other
programming experience? I think that was certainly true until now.
But increasingly, people who want to "just program a little" are being
directed to scripting languages as a good starting point (which they
are). That changes the balance heavily.
I imagine a mythical Roman who bumps into an Arab. The Roman is proud
of the lovely number system they have -- engraved into all their
arches, no less. Actually, he doesn't think of it as a number
*system*: how else could you write a number? And along comes this
Arab fellow, with an arcane little way of writing numbers. Sometimes
they look shorter, but by golly, sometimes it's *so* *much* *longer*.
If you want to subtract I from M, think about how much work you have
to do in this alien little system! And the Arab justifies it on the
basis of *simplicity* and *consistency*. Maybe, but it sure as heck
isn't *intuitive*!
Then, the Arab shows him division.
Someday, the paren will also rise.
Shriram