Live data from Hacker News

Response to John Cook's "Myth of the Lisp Genius"

rondam.blogspot.com

21–30 of 47 posts

Re: Response to John Cook's "Myth of the Lisp Genius"

#21
post #5

Earlier quoted context omitted.

I experienced personal success with it. It's not that Lisp causes people to not be able to work together. The causality runs in the other direction. Lisp tends to attract people who are antisocial by nature, because if they use Lisp they can be vastly more productive as individuals than if they don't. But then you get a community full of antisocial people, and they tend to drive away the team players. So the team pla…

Lisp has this convenient nature that it is better than every language, yet under its own weight it has nothing to show for it. Maybe I can start a similar myth with Logo. It requires no proof. Simply one or two anecdotes, great hubris, and the ability to say with a straight face that the reason why everyone who uses it isn't productive is because we're geniuses. Anyone else in?

> yet under its own weight it has nothing to show for it.

That's factually incorrect. There's plenty to show for it, you just have to scale to the size of humanity's computing concerns from four or five decades ago.

Moreover, in no field of creative human endeavor have popularity and worthiness been correlated. You think all those billboard top 10 acts came from Juliard?

Is this a troll?

Re: Response to John Cook's "Myth of the Lisp Genius"

#22
post #20
post #10

Earlier quoted context omitted.

> the author assumes he's one of those geniuses Exactly the opposite actually. Not only do I not assume that, I specifically deny it.

Actually, even though you deny that you are a genius I think you are. I don't think your article refutes the original article by John Cook at all as you are one of the very small percentage of people that can "make things happen" in Lisp or any other language. I would suggest you are too much of an engineer to use an "inferior" tool like C++ or Java because you know there is something "better" otherwise I am sure you…

> you are one of the very small percentage of people that can "make things happen" in Lisp or any other language

Although I'm flattered, I have to ask: what possible basis could you have for making that assessment? My track record certainly doesn't support you.

> I would suggest you are too much of an engineer to use an "inferior" tool like C++ or Java because you know there is something "better"

A true engineer solves the problem under the constraints that he is given. I have a this tendency to try to change the constraints -- or the problem. Those can be advantageous personality traits for some tasks, but they make me a damn poor C++ coder.

Re: Response to John Cook's "Myth of the Lisp Genius"

#23
post #17
post #9

Not that I don't agree with some of the points raised, but the article's purpose is to be a refutation to this claim: There are genius programmers who write Lisp, and Lisp may suit them well. But these same folks would also be able to accomplish amazing things in other languages. Languages and tools are not created equal, but the author assumes he's one of those geniuses, which may not be the case. Extraordinary deve…

> Linus would probably be more productive in LISP ... > he outcompetes everyone by superior design, by pragmatism and by being a good team-leader. On their face, these statements seem contradictory, don't they? How is it pragmatic to turn down a tool that yields better productivity?

How is it pragmatic to turn down a tool that yields better productivity?

Because individual productivity is not the most important thing when you have dozens or hundreds of people contributing to a project... or want to have dozens or hundreds of people contributing to your project. It may not be important at all, frankly.

Clever, compact code and extendable, maintainable code are often at odds, and lisps allow you to write very clever, very compact code in comparison to, say, Java and PHP. Or, probably, C, but I haven't written much C, so I won't opine on it. :)

Re: Response to John Cook's "Myth of the Lisp Genius"

#24

It's worth noting that he says (in the other article he links to): "In fact, in a number of cases I saw people whip things up in Perl in a couple of hours that would have taken me days or weeks to do in Lisp.". So therefore Perl > Lisp > everything? (I'm kidding for the humour impaired) What he gained from using Lisp was not worrying about memory management, and built-in data structures that made life easy. These day…

My guess is that you didn't seriously learn functional programming in any language.

It is not just about memory management and data structures. It is about functions as first class objects, no side effects, lazy evaluation, closure, monads. The fact that you can basically write a compiler in an hour as a first year student (that was exercise 3 in my course).

I'm not a programmer, I'm a DBA. The code I write is mostly short and ugly scripts in Perl and Bash. I can do very little Java and almost no other language. The one and only time I used Lisp was in my first programming course in the university. Incidentally, it was also the one and only time I enjoyed programming.

Re: Response to John Cook's "Myth of the Lisp Genius"

#25
A better response:

stop linking to John Cook.

Every John Cook blog entry I have ever read turns out, upon inspection, to be an almost-content free restatement of an accepted consensus -- motherhood statements at best.

Whereas Jeff Atwood at least gives credit to the books he reads and summarises, Cook merely regurgitates unsourced factoids and leavens with a few unimpressive anecdotes.

Re: Response to John Cook's "Myth of the Lisp Genius"

#26
post #17

Earlier quoted context omitted.

> Linus would probably be more productive in LISP ... > he outcompetes everyone by superior design, by pragmatism and by being a good team-leader. On their face, these statements seem contradictory, don't they? How is it pragmatic to turn down a tool that yields better productivity?

How is it pragmatic to turn down a tool that yields better productivity? Because individual productivity is not the most important thing when you have dozens or hundreds of people contributing to a project... or want to have dozens or hundreds of people contributing to your project. It may not be important at all, frankly. Clever, compact code and extendable, maintainable code are often at odds, and lisps allow you t…

Ahem... the comment I was responding to said that he outcompetes everyone by being pragmatic. Not using a tool that would yield better productivity for himself doesn't count as outcompeting people. It counts as working as part of a team. Part of my point is that the idea of out-competing people is a joke to begin with. You succeed with your entire team. You fail with your entire team.

Secondly, I dispute the notion that clever, compact code and extendable, maintainable code are at odds. Code becomes extensible by simple virtue of there being less of it. I do agree that clever, compact code is at odds with one thing: someone else looking smart. Do people write clever, compact code to look smart, or do you dismiss it to look smart? Because my experience is that it's almost always the latter. If I really did write the code in an unmaintainable way, they usually have more precise criticism than "It's too clever and compact."

Re: Response to John Cook's "Myth of the Lisp Genius"

#27

A better response: stop linking to John Cook. Every John Cook blog entry I have ever read turns out, upon inspection, to be an almost-content free restatement of an accepted consensus -- motherhood statements at best. Whereas Jeff Atwood at least gives credit to the books he reads and summarises, Cook merely regurgitates unsourced factoids and leavens with a few unimpressive anecdotes.

And yet, I never cease to be amazed at how many people need to be reminded of many of these accepted truisms.

Re: Response to John Cook's "Myth of the Lisp Genius"

#28
post #11
post #5

Earlier quoted context omitted.

I experienced personal success with it. It's not that Lisp causes people to not be able to work together. The causality runs in the other direction. Lisp tends to attract people who are antisocial by nature, because if they use Lisp they can be vastly more productive as individuals than if they don't. But then you get a community full of antisocial people, and they tend to drive away the team players. So the team pla…

Have you ever found it difficult to understand someone else's lisp project, because they have customized the language so much? (or vice versa, has a fellow lisper found your code hard to understand) I wonder if the flexibility and power of lisp might work against co-operation in this way too. I've witnessed confusion caused by operator-overloading in C++ (I heard that that's common); lisp is more customizable.

Uh.

You mean like Java, .NET, Perl, and every other major project?

Re: Response to John Cook's "Myth of the Lisp Genius"

#29
It seems that the main thing this guy is really saying is that Lisp is easier to program in than C++. I don't think that that's controversial around here. What is controversial is whether Lisp has a significant advantage over Python, Ruby, etc. Heck, he didn't even actually point out any advantage of Lisp over Java.

Re: Response to John Cook's "Myth of the Lisp Genius"

#30
I started seriously focusing on learning Lisp perhaps a year ago. My exposure to Perl had brought me to the point where I understood the idea of functions as first class in their own right.

Lisp rolled forward my mind into new places of understanding how to program. It was like having lights flicked on all over the place. I've been able to conceptualize post-Lisp in ways I did not before.

Perhaps Haskell would have done similar things. I can't say. But Lisp definitely did, and I believe that given the project (and a sufficient lack of having to interface into weird libraries), I could do more in a given slot of time in Lisp than I could with other languages.

Post reply on HN