[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Python for Lisp Programmers"

> Date: Fri, 7 Dec 2001 23:53:51 -0500 (EST)
> From: Shriram Krishnamurthi <sk@cs.brown.edu>
> Ronald D Stephens wrote:
> > Or , to put it as simply and briefly as possible, in answer to "Why
> > is Python considered lightweight and Lisp is not" , there are three
> > reasons.
> >
> > 1. Syntax.
> > 
> > 2. Syntax.
> > 
> > and
> > 
> > 3. Syntax.
> >
> > Syntax matters. It matters a lot. Academic language designers seem
> > to be most concerned with semantics, completeness, doing the right
> > thing, etc; but not as much concerned with syntax.
> Oh, puhleeze.  I really can't let this one pass.
> Third, beginners routinely pick up parenthetical languages with little
> effort.  They have been doing so at MIT for decades, and at dozens,
> even hundreds, of other universities.  Not all of them *like* it, but
> they sure don't have much trouble learning it.  And some of them seem
> to like it so passionately that they choose to build their languages
> to use different semantics but the same syntax.  A pure accident?  I
> don't think so.

Even though I love python and use it all the time, I'll second Shriram
here.  I spent some of the last term teaching scheme to undergrads, and
none of them had a problem with the parenthesized syntax after about the
first two weeks.  I think the problem is that most people have a knee-jerk
negative gut reaction to seeing all those parentheses, and they never make
it past that stage.  It's similar to people refusing to use python because
of the indentation-based block structure, or refusing to use standard ML
because -1 is written ~1.  These are trivial things, but people feel
strongly enough about them to avoid languages that "look bad" to them, even
if it's only a surface matter.  This has *nothing* to do with whether a
language is "little" or not.

> Fourth, it's utterly insulting to suggest that parenheads DON'T think
> about syntax.  I think their problem is exactly the opposite: they've
> thought too long about syntax, which is why they stick to the one they
> have so territorially.  If the rest of the world thought as hard about
> syntax, we'd have had XML two decades sooner.  If the rest of the
> world thought as hard about syntax, we wouldn't have the weak,
> rudimentary, groping attempts at macros in other languages.

"Parenhead" -- nice term! :-)

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

The ease with which macros can be defined in s-expression based languages
is the killer feature that attracted me to lisp and scheme.  The simplicity
and consistency was also a big bonus, especially after having learned
countless stupid variations on infix syntaxes.  You'll note that there
aren't that many variations on s-expression syntax (though Arc and Curl may
suggest that this trend is changing).

Mike "parenhead in training"