I’m skeptical when I hear someone say that he was able to program circles around his colleagues and it’s all because he writes Lisp. Assuming such a person accurately assesses his productivity relative to his peers, it’s hard to attribute such a vast difference to Lisp (or any other programming language).
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.
As someone who has specifically gone on the record saying pretty much exactly that (more than once) I feel the need to refute this claim.
Since the argument is based on the premise that I was in fact more productive than my peers, I have to toot my own horn a bit more than I'm generally comfortable with. I spent twelve years of my early career at the Jet Propulsion Lab during which time* I was promoted to the rank of Principal, the highest rung on the technical career ladder. I think it's safe to say that I did not achieve this through my sparkling personality, my willingness to brown-nose, or my finely honed political skills. In fact, looking back on it, I think at one time or another I managed to alienate about 90% of the people I came in contact with. So the only reasonable explanation of the fact that I was promoted instead of fired was that I produced results.
That still leaves open the possibility that I'm just freakin' brilliant, I could have (and would have) produced the same results in any old programming language. But there is actual data to refute that theory.
First, when I was at Google I got to see firsthand what real coding genius looks like, and it ain't me. There were dozens of people at Google who could code so fast and so effectively that it literally left me slack-jawed. My colleagues regularly did things that I would not have even thought possible had I not seen them with my own eyes.
Second, when I tried to learn to do what they were doing, I failed miserably. I tried to wrap my brain around Java and C++ and I just couldn't. I found myself so frustrated by the fact that I had to manually worry about a zillion little details that I could just ignore if I were using Lisp that I got a mental wedgie and I just couldn't get past it. I'd get bogged down in protection faults, STL errors that scrolled off the top of the screen, the fetid cesspool that is Perl, and get so frustrated that I just couldn't make any progress.
Third, I'm not the only one this has happened to. When I was working on the remote agent experiment an attempt was made to port part of that code (the planner) from Lisp to C++. After a year that effort had to be abandoned because the planner team just couldn't make it work. So it's not just me.
Fourth, it's just seems obvious from first principles that it you're using a language where you don't have to worry about memory management, you're going to get things done quicker and more reliably than a language where you do.
It is because of all this that I attribute my own success more to Lisp than to my personal coding prowess.
This is not to say that Lisp is a panacea. I do believe in the Lisp curse that the power of the language is in some respects self-undermining because it empowers the individual and so tends to attract people who don't work well in teams. A team of competent programmers willing to put up with bullshit will out-compete a lone wolf striving for elegance no matter how brilliant he is. It's sad, but that's the way it is.
[*] To be strictly accurate, after 12 years I was a Senior, one rung below Principal. I then left for a year to work at Google, and when I returned I was re-hired as a Principal.