merits of Lisp vs Python

Ken Tilton kentilton at gmail.com
Sat Dec 9 11:55:23 EST 2006



Steven D'Aprano wrote:
> On Sat, 09 Dec 2006 02:29:56 -0500, Ken Tilton wrote:
> 
> 
>>
>>David Lees wrote:
> 
> 
>>Those raving about 
>>Lisp are quite accomplished at all those other languages, and know about 
>>  what they are talking. 
> 
> 
> Such a sweeping generalization. Every person who raves about Lisp is also
> accomplished with other languages. Yeah, right. I believe you, even if
> millions wouldn't.

Ah, but that is because you are not a careful thinker, you just like 
sounding off on Usenet. Me, too!

Think, Steve, think: do you think we pay the rent with /Lisp/ jobs?!

If logic does not work for you, try this:

     http://wiki.alu.org/RtL_Highlight_Film

Behind each sound bite is a full survey response, one question being 
"what other languages do you use?".


>>I doubt the Pythonistas weighing in on this 
>>thread ever got far at all with Lisp, so... should they really be 
>>offering comparative analysis?
> 
> 
> I hit my hand with a hammer once. 

Cool, first you use the lame Turing Completeness thing, now you are 
arguing by analogy, which does not work because now we have to argue 
about how well the analogue maps onto the topic.

When I switched Lisps after several years of Lisp I also had to switch 
IDEs (not using Emacs+ILisp). I hated the new IDE. I also told myself to 
wait thirty days before worrying about it, since obviously it might just 
be a matter of habit. Now when I port things back to the first Lisp I 
hate that IDE (except I know a couple of weeks would turn it around).

Now it may be distressing to you that I am talking about something 
closer to programming languages than is hammering ones hand, and for 
that I apologize in advance. :)

I didn't keep going until I was an
> expert in hitting-own-hand-with-hammer before deciding that hitting my
> hand with a hammer was not for me. Did I do the wrong thing? Should I have
> kept going until I was an expect at it?
> 
> (Of course, writing Lisp isn't precisely like hitting one's hand with a
> hammer. With the hammer, the endorphins kick in eventually, and it can
> become quite pleasant...)
> 
> 
> 
>>> Personally, I never like Lisp syntax; 
>>>Clearly some people, some fanatic judging by this thread :) think easily 
>>>in prefix.  I am not one of them. 
>>
>>Yeah, you are, you just did not use it heads down for a month.
> 
> 
> The sheer arrogance of this claim is astounding.
> 
> Actually, this is comp.lang.lisp. It isn't astounding at all.

Exactly, and Usenet. Not the Supreme Court. We can speak casually. We 
can also speak cordially. <hint>

> 
> I don't know, maybe lisp coders actually are more intelligent than
> ordinary mortals, 

No, it's the Lisp that makes them so effective. I was joking in my 
original remark. But not about Lisp programmers being better looking. :)

> but it has been my experience that they have absolutely
> no grasp whatsoever of the way most (many? some?) people think. And I'm
> not talking about can't-walk-and-think-at-the-same-time people either, I'm
> talking about bright, intelligent people who, nevertheless, don't agree
> with lisp coders.

As you will soon realize because you are such an open, 
intellectually-honest person and will do the reading I recommended, most 
of us came to Lisp late in our programming careers, having used and 
excelled at (in my case) Apple Integer Basic, Microsoft Basic, 6502 
Assembler, COBOL, any DEC Basics, C, Logo, and now Lisp (chosen over the 
new C++ because the latter seemed like evry bit the horror it turned out 
to be). I have done enough Python to appreciate the cleanliness of the 
code and its power, and enough Java... well, after Lisp it is impossible 
to find anything in some other language that would tempt one to work 
much in it.

My point is that we grasp what you think because we /are/ you, we have 
worked alongside you, and we are very good at your language. And we use 
Lisp and gloat about it and piss everyone off with our smugness. It 
can't be helped--Lisp is that good.

>>The way 
>>to tell if you spent enough time on Lisp is to look at Lisp code. If you 
>>see any parentheses, you have not spent enough time. They disappear in a 
>>month.
> 
> 
> If the parentheses are that meaningless, why do you need them?

Meaningless? Who said that? Did you say that? Someone said that. :)

I said they disappear. I am not looking at parens, I am looking at the 
code structure, as manifested by (you'll like this) the indentation, the 
indentation provided automatically when I kerplunk control-shift-P (I 
think, my fingers know).

You like analogies. When i tried on my first glasses I said "I can see 
the frames!". the glasses guy said, "That is because you are looking for 
them." Something like that. With the editor handling the parens 90% of 
the time, I do not have to thnk about or look for them.

btw, change all the ()s to []s and I /do/ see them. Possibly they would 
go away with time, but I have a hunch that []s might not go away, two 
cornery or something.

> 
> 
> 
>>The typical Pythonista values clean code but trembles in the face of 
>>macros, which exist to hide boilerplate. 
> 
> 
> Funny, when I write code, I try to remove boilerplate, not hide it.

Boilerplate does not mean meaningless. You cannot remove it. It is 
absolutely necessary. But it has blanks that must be filled in 
differently for each use of the boilerplate. With macros, one supplies 
just the fill-ins and the name of the boilerplate, but in a way a 
function cannot handle.

The last time we went thru this a Pythonista finally said, Oh, I get it. 
These five lines of code I have to write all the time (two setup, one 
func call, two cleanup) can be collapsed into one or two. The thread 
will be hard to miss in Google groups (two years back?) and the epiphany 
appears right at the end of the thread. <hint>


>>That means the only thing 
>>showing in any given block of code is exactly the interesting variable 
>>and function names. Talk about readability.
> 
> 
> Yes. And your point is?

You would love macros if Python had them.


>>>Computer languages are tools and 
>>>everyone should pick the ones that they are most comfortable and 
>>>productive with.
>>
>>No, languages are not interchangeable.
> 
> 
> Perhaps you should consider what the term "Turing complete" implies.

I have destroyed this elsewhere, but in case you missed it: HLLs exist 
precisely to distance us from having to program Turing machines 
directly, and are to be judged precisely on how well they do that, so 
this fig leaf offers no cover.

> 
> 
> 
>>Python is a fine language, but 
>>Lisp is much more expressive/powerful.
> 
> 
> Maybe so. A bulldozer is a lot more powerful than a tack-hammer, but if
> somebody suggested using a bulldozer to lay carpet, I'd politely show them
> to the door. Sometimes more power isn't better.

I thought we agreed that analogies are useless because they become their 
own debate? :) Again, power means maximizing the ratio between how much 
time am I thinking about the problem I am trying to express and how much 
time am I thnking about your beloved Turing machine.

Not sure how I would say that in infix.

:)

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