
How I lost my faith in Lisp - deepu_256
http://groups.google.com/group/comp.lang.lisp/msg/6f75cfb5a289d3f6?pli=1
======
kleiba
Unfortunately, the post spends most of its length on the author's professional
history. It is only towards the end in which he spends a sentence or two
talking about when he "lost his faith" in Lisp, but still gives not a lot of
reasons. Basically, as far as I can tell, there are two major points: he used
to think Lisp is great, but (1) no-one else seems to be using it and (2) the
perceived superiority of Lisp was debunked when he observed experts in other
programming languages.

Perhaps his priors were a bit off (seeing Lisp as the holy grail of all
programming languages), but I think it is still fair to ask why Lisp has
failed commercially? This has been discussed before, however (Lisp "wars" in
the 80s, AI winter, etc.)

I find the way he ends his post interesting, where he argues that Lips has to
evolve and improve. The article is from 2002 and in the mean time, a lot has
actually happened in the Lisp world. New dialects like arc and clojure have
created a renewed interest in Lisps. It would be interesting to know what the
author thinks of these developments, and whether they could revive his
personal faith.

~~~
civil
_It would be interesting to know what the author thinks of these developments,
and whether they could revive his personal faith._

"Erann Gat" and "Ron Garret" are the same person; you find him on c.l.l.
regularly since 2004.

~~~
nostrademons
He's also occasionally on Hacker News:

<http://news.ycombinator.com/user?id=lisper>

~~~
didip
Is he that Ron, the xoogler, who was forced to use Java on AdWords?

Edit: Yup.

<http://www.flownet.com/ron/xooglers.html>

    
    
        So I was a little disappointed when I found out
        on day 1 that I had been assigned to the ads group.
        But that disappointment turned to dismay when I learned
        what my assignment was to be: I was the lead engineer
        on a new advertising system code named "adstoo", what
        eventually became AdWords. That part wasn't so bad.
        The bad part was, this was going to be the inaugural
        Java project at Google. Google, which had until now
        been a Java-free zone (which was one of the reasons I
        took the job) was going for Java in a big way, and I,
        the consummate Java hater, was supposed to be its
        chief evangelist.
    
        Just peachy.

------
mcn
This is from the same Erann Gat (aka Ron Garret) who wrote the popular lisp at
the JPL essay[1], and it covers some of the same ground.

His last point, that lisp can and should be improved, is one that he makes
periodically. There's a barrier to some improvements to Common Lisp caused by
the fact that the standard has been long closed and doesn't look like it will
be reopened, but there have been improvement in areas that are outside of the
standard.

For example both Ron's extended post and the previous hn discussion of this
post note the pain of finding and installing lisp libraries. Quicklisp beta
was recently released which relieves a significant amount of that pain.

[1]<http://www.flownet.com/gat/jpl-lisp.html>

Edit: I noticed this in the previous posting of this thread:

Ron> For the record, I did not submit this article, and specifically declined
a request to do so. It's not that I don't stand by what I wrote (I do) but it
was written for a specific audience at a specific time and I don't think it
deserves the attention that it's getting now.

...

akkartik> I noticed. [http://rondam.blogspot.com/2008/02/what-are-programming-
lang...](http://rondam.blogspot.com/2008/02/what-are-programming-languages-
for.html) Thanks.

------
zachbeane
I'd submit
[http://www.xach.com/naggum/articles/3208226254834485@naggum....](http://www.xach.com/naggum/articles/3208226254834485@naggum.net.html)
if my site wasn't blacklisted. "What I want from my Common Lisp vendor and the
Common Lisp community"

~~~
lisper
Why is your site blacklisted?

~~~
zachbeane
Sometimes I make fun of Paul Graham.

~~~
lisper
Um, your site isn't blacklisted:

<http://news.ycombinator.com/item?id=2309858>

~~~
zachbeane
Notice how it's instantly [dead]? Same for anything on xach.com.

------
Markku
TLDR Person found out other people can be immensely productive with other
languages. Then person learned languages X, Y and Z with cool libraries and is
now very productive and happy using them.

TLDR TLDR Libraries make a big difference!

~~~
Markku
To add some detail.

Programming languages live and die by their libraries, i.e. vocabulary. The
differences in grammar are in my opinion rather small, when we talk about how
expressive a clever programmer can be. Can a person be even more expressive in
Lisp? Perhaps but it's not essential. The library support on the other hand is
essential. You want to stand on the shoulders of giants for the next step. In
all modern languages you can write elaborate, expressive libraries (read DSLs)
for your pet problems.

I think my TLDR summarizes the original author's post but if someone
disagrees, then we can have a fruitful discussion :)

Disclaimer I use Java and Racket daily.

~~~
nostrademons
I actually don't think that's the point of the article - it may be true, but
it's not supported by the text or background story. This was written in 2002,
and the author's tenure at Google was 2000-2001. That was pre-BigTable, I
think it was pre-MapReduce, and it may even have been pre-GFS. Plus, Google's
known for it's NIH syndrome - while there are a fair number of third-party
libraries in use _now_ , there weren't really in Google's codebase of 2000,
which had just dumped many of the early frameworks they'd used for prototypes.

Rather, I think this is more evidence of the old "Good programmers will be
productive in any language." The advantage that an expressive programming
language like Lisp gives you is that it frees you to think about the problem
domain and not worry too much about the details of the machine. However, if
you're skilled enough that you've pushed those details into unconscious muscle
memory, they don't matter anyway. And a language like C++ gives you the
_option_ of dropping down to the bare metal if the need arises.

There are a fair number of Lispisms in early Google code - MapReduce is the
obvious one, and there're others that I'm not at liberty to discuss. However,
they're Lispisms implemented in C++, where the author took the concept and
transplanted them into a language that could give the efficiency needed. This
is not a bad strategy - when you understand the concept fully, you're free to
tweak it and adapt it exactly as necessary for your problem.

Perhaps not coincidentally, many early Googlers were also programming language
& compiler guys before Google. Urs Hoezle (employee #9 and Google's first VP)
had previously done StrongTalk (statically-typed SmallTalk), Self (the
prototypical prototype-based language and an early inspiration for
JavaScript), and the VM that later became Java HotSpot. Jeff Dean got his Ph.D
on the Cecil/Vortex compiler, one of the first optimized implementations of
CLOS-like multimethods. Rob Pike worked on Plan9 at Bell Labs and invented the
Limbo programming language as part of it.

~~~
swah
When you say early code, do you mean code that was replaced or just older
code?

~~~
nostrademons
Older code, some (but not all) of which was replaced.

------
mahmud
I don't speak for the author, but I had the feeling he would retract those
remarks today, based on our exchanges here on HN.

In other news, STFU and hack. Enough with Lisp politics posts. It's just a
language.

~~~
parfe
Do you know of any startups using a LISP as the primary dev language?

~~~
pchristensen
I made a list a while ago but it's a couple years out of date. It's probably a
big underestimate because I last updated it before Clojure started to boom.
I'll add anything people mention in this thread and if anyone knows more,
email peter @ pchristensen . com

<http://www.pchristensen.com/blog/lisp-companies/>

------
nickik
He says norvig left lisp behind when he came to google witch is true but in
Codes at Work he basiclly says that it was to hard to retrain all those C++
Programmers to Lisp was to much work and he uses Python because its a better
sudo-code. He still thinks lisp is better for big projects.

It was again the problem that people where all trained in C/C++.

~~~
RyanMcGreal
> its a better sudo-code

Now that's a powerful language. :)

------
itsadok
Pervious discussion on Hacker News:
<http://news.ycombinator.com/item?id=107683>

------
herdrick
A more accurate title today would be, "How I lost my faith in Common Lisp".

------
dspeyer
Note python.

The beginning of the article was all Lisp demolishing C and Fortran. Then he
saw that Python could stand up to it. Most of the flexibility, nicer syntax
and better libraries.

Lisp has stood still for the past 25 years. Is it any surprise the rest of the
world caught up?

~~~
brlewis
I understand that casual conversation doesn't always require one to factcheck
every statement, but did you think before you wrote "Lisp has stood still for
the past 25 years" whether you really know that? And did you think it would
lead to productive discussion?

~~~
akkartik
When I read his comment I automatically converted it in my mind to "Common
Lisp has stood still for the past 25 years." 25 years is probably too much,
but compared to clojure and racket Common Lisp seems archaic, like reading
Shakespeare. If it has had updates they've been on the edges, making the
standards bulkier and more arcane, harder to parse.

------
reirob
Great write-up! Basically a person that was using more than 20 years of Lisp
successfully and considered Lisp allowing higher productivity admits that
there are now other languages that allows higher productivity than Lisp.

At the end when I read the comment:

> I think that if Lisp does not evolve it will die, and I > don't want to see
> that happen. I still think Lisp is > great. I also think it can be, and
> should be, improved.

I wonder what kind of improvements does the author have in his mind! If
somebody knows please kindly enlighten me.

~~~
felideon
"Basically a person that was using more than 20 years of Lisp successfully and
considered Lisp allowing higher productivity admits that there are now other
languages that allows higher productivity than Lisp."

No, just a case of Stockholm Syndrome.
[http://groups.google.com/group/comp.lang.lisp/msg/d11c7e5619...](http://groups.google.com/group/comp.lang.lisp/msg/d11c7e561908cc61)

"I wonder what kind of improvements does the author have in his mind! If
somebody knows please kindly enlighten me."

As Erik Naggum said: _Erann Gat does not want to enhance Common Lisp, he
[just] wants to feel better._

I encourage you to keep reading Naggum's line of thought:
[http://groups.google.com/group/comp.lang.lisp/msg/9edc8f7ee2...](http://groups.google.com/group/comp.lang.lisp/msg/9edc8f7ee26a728c)

