[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.
> 
[snip]
> 
> 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"