[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.