Live data from Hacker News

How I lost my faith in Lisp

groups.google.com

11–20 of 71 posts

Re: How I lost my faith in Lisp

#11
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++.

Re: How I lost my faith in Lisp

#12
post #4

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!

Honestly, I'll probably get crucified for this, but: tl;dr it's possible to be a Blub programmer in Lisp.

If we consider libraries part of the language, then I would say yes. All lisp implementations lack something for someone. And a language with great libraries may appear to be higher than others in some perspective because they offer a set of great existing tools. As far as limiting your thinking, Lisp in itself does no such thing, the libraries do it.

As a thought, I have sometimes wondered, why is it difficult for me to do something in Racket? It is not because a library is missing (though it could happen), but because it does not limit me. So it does not guide my thinking as much as let's say a strict language like Java.

When I don't have to think about classes with single inheritance and single-dispatch methods, I start to think about class systems, generic methods, multiple dispatch, may ditch classes altogether, go to a great unified graph of data or something crazier. I end up thinking how I should be modeling something and not doing the modeling itself. It does go overboard sometimes :)

Does anybody else face this problem?

Re: How I lost my faith in Lisp

#13
post #6
post #4

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!

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…

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.

Re: How I lost my faith in Lisp

#14
post #9
post #5

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 de…

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.

He's also occasionally on Hacker News:

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

Re: How I lost my faith in Lisp

#15
post #6
post #4

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!

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…

I think I half-agree with you. I don't think a great library can ever elevate an OK language to great. However, a poor library can certainly drag an OK language down to poor.

One of the most complicated decisions in developing any new programming language today must surely be where to draw the line separating standard library facilities from those to be provided externally. Provide too little, and you get a zillion incompatible external implementations popping up (C++ and strings; JavaScript and DOM manipulations). On the other hand, go too far, and you get your entire community relying on mediocre facilities, or worse, multiple competing facilities in your own standard (Java and GUIs; D in general). Likewise, if you have a common repository for additional libraries, you can be too restrictive on contributions and wind up with many basics still not covered (C++ and Boost) or you can be too open and wind up with a whole load of substandard or incomplete junk (Perl and CPAN).

Re: How I lost my faith in Lisp

#16
post #9
post #5

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 de…

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.

http://www.flownet.com/gat/eg-rg-faq.html

Re: How I lost my faith in Lisp

#17
post #6

Earlier quoted context omitted.

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…

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 r…

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

Re: How I lost my faith in Lisp

#18
post #17

Earlier quoted context omitted.

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 r…

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

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

Re: How I lost my faith in Lisp

#19
post #12

Earlier quoted context omitted.

Honestly, I'll probably get crucified for this, but: tl;dr it's possible to be a Blub programmer in Lisp.

If we consider libraries part of the language, then I would say yes. All lisp implementations lack something for someone. And a language with great libraries may appear to be higher than others in some perspective because they offer a set of great existing tools. As far as limiting your thinking, Lisp in itself does no such thing, the libraries do it. As a thought, I have sometimes wondered, why is it difficult for m…

You have the typicall overthinking problem. You should just start to write useful functions and then when you really see a need for something like multiple dispatch you have it at hand to solve your problem.

This way your System will grow into what you want you don't have to design everything upfront thats the wrong we to go about it.

(Design is fine but on a much higher level then the object system in your language)

Re: How I lost my faith in Lisp

#20
post #12

Earlier quoted context omitted.

Honestly, I'll probably get crucified for this, but: tl;dr it's possible to be a Blub programmer in Lisp.

If we consider libraries part of the language, then I would say yes. All lisp implementations lack something for someone. And a language with great libraries may appear to be higher than others in some perspective because they offer a set of great existing tools. As far as limiting your thinking, Lisp in itself does no such thing, the libraries do it. As a thought, I have sometimes wondered, why is it difficult for m…

> As far as limiting your thinking, Lisp in itself does no such thing, the libraries do it.

Isn't this BLUB at it's finest? I can't think of X in context Y, so X is unthinkable, thus Y allows me to think of everything.

Post reply on HN