How knowing Lisp destroyed my programming career

In article <1145840198.454403.231230@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
"Jonathon McKitrick" <j_mckitrick@xxxxxxxxxxx> wrote:

Ron Garret wrote:
3. I do not hate Lisp. It is and has always been my favorite
programming languages. My love for Lisp pretty much destroyed my career
as a programmer. My motivation for criticising Lisp is not to convince

How did it do this?

That's a long story. Part of it is told here:

and here:

But in the context of the current discussion I think it's worthwhile
giving an abridged version:

I first learned Lisp in the early 80's when I was still in high school.
I was interested in AI, and in those days Lisp was the lingua franca. I
took a little detour as an undergrad by getting a EE degree, but in grad
school in the mid-80's I went back to Lisp (mostly Scheme and Franz Lisp
back then, and later MacScheme and Coral Lisp, which would later morph
into MCL).

My colleagues were using C (K&R in those days) or Pascal. C++, Perl,
Java, Python, etc. didn't exist. When all those modern languages are
out of the picture, Lisp rocks. I mean it just blows everything else
clean out of the water. With a secret weapon like Lisp in my arsenal in
1986 I could blow my competition out of the water with one hand tied
behind my back and holding a martini in the other.

(I remember my compilers class in particular. What took my colleagues
reams and reams and reams of Pascal code took me a page of Lisp. This
was before networks became ubiquitous. We turned in assignments on
paper in those days. I still have my folder with all my homework
assignments from that class. It's about a quarter of an inch thick.)

That kind of competitive advantage continued throughout my graduate
career. The competition switched from Pascal to C, but it was still no
contest. Then they switched to C++ in the early 90's -- or at least
they tried. The state of C++ was so horrific back then that they were
forced to go back to Lisp because they just couldn't get things to run
in C++ even though they tried very very hard.

But a funny thing happened in the late 90's. C++ got its act together.
Java and Perl came along (and later, Python). Meanwhile, Lisp hadn't
advanced much in about a decade (since the ANSI spec was finalized). It
was still a win, but the competition had narrowed the field. Once upon
a time Lisp had a long list of features that no other language had (GC,
full numeric tower, CLOS, incremental development, macros) that list
kept getting shorter and shorter, and the case for Lisp, which had never
been easy even in the best of times, was getting harder and harder to

So I went to Google in 2000 with this really impressive resume that I
had built using Lisp, and when I got there they said, "Glad you're here,
we want you to write Java code." Thing is, I had never really had to
learn Java, so I wasn't very good at it. On top of that, knowing Lisp
made me all too keenly aware of Java's shortcomings, and I had a very
hard time not being angry at how stupid it was that I was being forced
to use it. (If you want more details about that part of my life story,
read xooglers.)

But then a very strange thing happened: I noticed that all around me
people were writing code using C++ and Java and Python and even (gasp!)
Perl, and they were actually getting it to work without tearing their
hair out. 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.

The conclusion was inescapable: the problem wasn't Perl or C++ or Java,
it was me. I just wasn't a very good programmer any more. Lisp's power
had made me complacent, and the world had passed me by. Looking back, I
actually don't think I was ever a very good programmer. I just happened
to have the good fortune to recognize a good thing when I saw it, and
used the resulting leverage to build a successful career. But I credit
much of my success to the people who designed Common Lisp.

It was nice while it lasted.


Relevant Pages