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

Re: "Python for Lisp Programmers"

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.

First of all, academic language designers don't invent languages in a
vacuum, no matter what your prejudices about academics may tell you.
They actually -- brace yourself for this -- use those languages!
People have been writing hundreds of thousands, even millions, of
lines of code in parenthetical languages for decades now.  Some of the
Lisp luminaries on this list were doing it over 25 years ago.  You'd
think they'd have noticed.

Second, the only users of these academic languages aren't the
academics that designed them.  They include CAD designers, hardware
designers, expert system builders, and so on.  Some of these systems,
like the ACL2 theorem prover and its predecessors from UT Austin, have 
been in industrial use for ages now with terrific success stories.
Now it's always possible that the hardware companies using it are
infested with paren-heads and they're not letting in on it, but
somehow I doubt that's the case.

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.

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.

Fifth, your attempt to characterize academics under a single syntactic
umbrella says more about you than about academics.  Does ML have a
parethentical syntax?  Does Haskell have a parenthetical syntax?  Does
Hope?  Does Miranda?  Does Gofer?  Etc.  Do these languages care any
less about "semantics, completeness, doing the right thing, etc."?  My
goodness, you can even define the operator precedence of infix
operators in most of those languages -- something that would make any
parenhead's skin crawl.  Does that not sound to you like people
caring, intimately, about your kind of syntax?

Sixth, if the only problem was the blighted syntax, how long would it
take to fix it?  Paul Fernhout wrote an indentation-based reader for
Scheme in what looked like a few days (this was including having to
learn the fairly heavy-weight reader interface in DrScheme; the actual
reader probably took a few hours).  So if syntax, syntax and syntax
were the real problem, why didn't any of the numerous scripting
languages just take a perfectly good existing Scheme implementation,
rip out the reader, stick in one for their language, and be done with
it?  Why don't they do it now?

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

(Should we inform the high school students who're mastering Scheme,
syntax and all, that they are sadly mistaken in thinking Scheme is
somehow simple and easy to learn?)

> Give people a language that gives immediate satisfaction, as in Eric
> Kidd's 6 hour teaching session below, and folks will get "hooked"
> and wind up spending many hundreds of hours studying the intricacies
> of the language with great pleasure. 

I guess you missed my post that pointed out that I have the exact same 
experiences teaching people Scheme.