merits of Lisp vs Python

Ken Tilton kentilton at gmail.com
Sat Dec 9 12:29:24 EST 2006



Steven D'Aprano wrote:

> 
> But Lisp's syntax is so unlike most written natural languages that that it
> is a whole different story. Yes, the human brain is amazingly flexible,
> and people can learn extremely complex syntax and grammars (especially if
> they start young enough) so I'm not surprised that there are thousands,
> maybe tens or even hundreds of thousands  of Lisp developers who find the
> language perfectly readable.
> 
> But that isn't to say that the syntax of Lisp is for everybody.

yeah, I think it is. Folks don't vary that much. If every Lisp 
programmer also reports parens disappearing at about thirty days, any 
given non-Lispnik can pretty much bet on the same experience.

And since no one can produce a witness who worked fulltime on Lisp for 
thirty days and gave up on it because it was a great language but they 
could not handle the syntax, or a witness who stayed with Lisp because 
it is a great language even though to this day they have trouble reading 
the synatx...

> Far from
> it -- I'd be willing to bet that Lisp developers are a self-selected group
> of far above average intelligence. 

I think the early adopter is distinguished not so much by greater 
intelligence as by restlessness and rebelliousness and a little lunacy. 
We lack the knack of happiness. Many of the stories on the RtL reveal 
folks who sought A Better Way after mastering other languages. And by 
Better Way, sorry, we mean "why do I have to forever worry about the 
damn paper tape on this Turing machine!". We do not really like 
programming, we like thinking about problems and using a computer to 
solve them.

> That would explain why so many of them
> seem to be so much more comfortable with higher-order functions than most
> other people -- even intelligent people. 
> 
> (Looking back, I'm embarrassed about my first reaction to factory
> functions all those years ago. Hiss hiss spit. But even with added
> familiarity, there comes a time where one has to question the benefit of
> sufficiently high-order functions. If you are writing a factory function
> that returns factory functions that return factory functions that return
> the functions that you needed in the first place, chances are you really
> need to rethink your tactics.)
> 
> If I'm right, then maybe Lisp is "better" in some absolute sense, *for
> those who can use it*. For those who can't, it isn't just a matter of
> (say) the syntax being hard to read because it is unfamiliar, but it
> being objectively harder to use.
> 
> An interesting study would be to track people's eyeballs as they read
> code, ...

I spend about 90% of my time thinking and writing code, and read it only 
to understand how something works or why it broke. And then I am looking 
at parentheses no more than you are looking at the lines of resolution 
on a TV when watching Baywatch. I am looking at a mechanism and how it 
works.

> ...or look at how much oxygen their brain uses. Do Lisp coders do more
> work to read Lisp than Python coders do to read Python? I suspect they do,
> but successful Lisp coders don't notice. 

My suspicion goes the other way, and is based not on punctuation, rather 
on imperative vs functional. In Lisp every form returns a value, so I do 
not have all these local variables around that, in the strecth of an 
interesting function, take on a stream of values and transformations to 
finally come up with some result, meaning to understand code I have to 
jump back and forth thru the code to see the lineage of a value and 
figure out its net semantics. Too much like work.

> Everybody else does, and
> gravitate to languages which might not be "better" but are "good enough".

No, they gravitated to a language that was closer to what they already 
knew, C or Java (which also mimicked C to pick up those users). Later 
charms of Python were a great community and library support. Lisp simply 
does not have the latter, one is forever rolling one's own bindings to C 
libs.

> (If my post leads to any Lisp developer's already swollen head exploding
> from pride, my job here is done *wink*)

They can't get any bigger. :)

ken

-- 
Algebra: http://www.tilton-technology.com/LispNycAlgebra1.htm

"Well, I've wrestled with reality for thirty-five
years, Doctor, and I'm happy to state I finally
won out over it." -- Elwood P. Dowd

"I'll say I'm losing my grip, and it feels terrific."
    -- Smiling husband to scowling wife, New Yorker cartoon



More information about the Python-list mailing list