Live data from Hacker News

Why Lisp Is Unpopular

news.ycombinator.com

41–50 of 159 posts

Re: Why Lisp Is Unpopular

#41
post #3

I think there are various reasons why Lisp has the level of popularity that it does (I won't say it is categorically unpopular). Unfamiliar syntax, real or perceived attitudes of the community, number of primitives, the divergent nature of the language, industrial history, industrial support, editor support, academic support, perceived performance, programming trends and other things have all affected the adoption of…

That seems like a good list of reasons. I would add perhaps the sheer volume of code on the net in other more popular languages, compared to Lisp.

I disagree with your conclusion that Lisp is somehow going to take off though. After being around for what seems like forever, its still a (and I will say it) categorically unpopular language. If I were a betting man, I'd bet on JavaScript.

Re: Why Lisp Is Unpopular

#42
Actually, that little yellow thing looks to me like a large boom lift. Note the cage at the front, away from us. For cleaning bird droppings off the array elements?

Re: Why Lisp Is Unpopular

#43

The biggest barrier in my opinion is what most people think is "weird" syntax or the more precisely the absence of it. People are just not used to it. Add to the that the lack of popular libraries for some modern niceties and it really adds to it being unpopular.

I don't understand the syntax complaint: it is simple to learn, and with few exceptions, applies in all cases. Other language syntax (C or Erlang, e.g.) is arbitrary and tedious by comparison.

What this fails to take into account is that most programmers learn a language with C like syntax first. Either C, C++, or Java (you could even argue JavaScript). Like it or not, people have a tendency to avoid change when possible.

Re: Why Lisp Is Unpopular

#44
post #10

I like Lisp a lot, and from my own experience I think that the main reasons why people dislike Lisp are prefix notation and parentheses . Sure, my experience is only anecdotal and not at all large. But always I've tried to introduce someone to Lisp (I'm talking of about 5 people, none of them have converted...) they seem incapable to see further than the parenthesis and the prefix notation, but specially the parenthe…

I think lisp's problems started when it wasn't designed for actual use. It is elegant, functional, and amazingly regular. Usability wasn't a design goal. If you look at languages in wide use, they're all procedural - everything from ASM and basic to ruby and python. Similarly, all the pseudocode I've seen has been procedural. If you ask a lay person to come up with a way of making 20 pb&j sandwiches, you're going to…

But Lisp is not a functional language. You can do procedural programming with it, moreover I think that nowadays the usual Lisp program is either procedural, OOP or a mix.

You really don't need to rely on Emacs+Slime, an editor with a good support for indentation will suffice. IIRC, pg codes in Vi (or Vim). The idea is that, like in C/C++, good indentation is enough to determine the nesting so you don't need to count parentheses or curly brackets.

The last difference, infix vs prefix, I can see that we are more used to infix notation. But we can't forget that the Algol derived languages use a mix of them (operators and functions are different!) while Lisp always use prefix notation, and incidentally put the parentheses surrounding all the expression (and being the first element the function name).

Re: Why Lisp Is Unpopular

#46
post #6

How to make Lisp popular (or as popular as Lisp will ever get): 1) SBCL working very well on the big three PC platforms. 2) Bindings + easy installation for popular libraries. 3) Education (pg's articles, everything on planet.lisp.org) 4) Solid debugging, perhaps with things like breakpoints. There is much activity on all 4 problem items that I identified above, so Lisp IS getting more popular. I don't know if progra…

I think the problem Lisp has is that very few people are forced to use it. If you look at the average programmer, he doesn't want to think about programming, he just wants to press keys an go home. So a language that requires you to think instead of type is not something that he is going to flock to. I think the sad reality is that most programmers aren't very smart, so smart languages will never become popular. I'm…

while this might be true, i think focusing on this stuff is wasted time. i'm not a lisp programmer, but from reading about it here at hacker news, i'm pretty sure that the lisp community would only be hurting itself by taking the average blub programmer into account.

Re: Why Lisp Is Unpopular

#47
post #44

Earlier quoted context omitted.

I think lisp's problems started when it wasn't designed for actual use. It is elegant, functional, and amazingly regular. Usability wasn't a design goal. If you look at languages in wide use, they're all procedural - everything from ASM and basic to ruby and python. Similarly, all the pseudocode I've seen has been procedural. If you ask a lay person to come up with a way of making 20 pb&j sandwiches, you're going to…

But Lisp is not a functional language. You can do procedural programming with it, moreover I think that nowadays the usual Lisp program is either procedural, OOP or a mix. You really don't need to rely on Emacs+Slime, an editor with a good support for indentation will suffice. IIRC, pg codes in Vi (or Vim). The idea is that, like in C/C++, good indentation is enough to determine the nesting so you don't need to count…

Good points. Perhaps the problem is also how lisp is taught? When I learned lisp, the procedural aspects of lisp were shown, but with the understanding that they were bad, and not to be used. Probably because it was shown as a functional language, and was meant to be used as such. Similar to how, say, c++'s functional programming capabilities aren't really taught.

If the indentation is sufficient, why not just remove the parens completely and rely on indentation?

Lisp does have an advantage in being regular, which might not be worth giving up, and Algol descendants are kind of a mishmash, to be fair. To be honest, I'm not enough of a lisp user to be able to know what a good solution is for this one. Maybe changing some function names would be useful.. for example 'add' is better than '+', which I read as 'plus'. Repurposing infix symbols as prefix symbols seems problematic.

If I were redesigning the language, one of the more important things I'd change is the keywords and builtins. For example, head and tail seem a lot better to me than car and cdr. A lot of lisp's keywords and functions come from math, and I'd probably change them to reflect mainstream algorithm design instead.

Re: Why Lisp Is Unpopular

#48
post #33
post #13

Earlier quoted context omitted.

Unless you're implying that each Lisp interpreter is its own language, I don't think your contention really applies. If I learn Lisp on Lispworks, and go sit down at GNU CLisp, I'm not programming in a different language - I'm using a different sub-set thereof. When I sit down to a Ruby program, and then switch to a PHP script - there are fundamental differences between the two languages that transcend the library or…

The issue here is human decisions, not a taxonomy of programming tools. Or do you suggest that Lisp dialects diverge further? If you called them separate languages, would there be a better chance of them growing popular?

On the contrary, I'm suggesting that Lisp dialects do not diverge as far from each other as the various dynamic languages do. That means that the idiosyncrasies each dialect has are going to be more glaring. The other dynamic languages don't (yet) have dialects, so you don't have to take the design decisions of the interpreter into consideration - after you've decided on the language.

In that case, I think that there might be a better chance of a sub-set of Lisp dialects becoming popular if they were described as separate languages. It will be interesting to see how Arc develops from MzScheme, and whether or not it becomes more popular with non-Lispers.

Re: Why Lisp Is Unpopular

#49

"Unpopular" needs to be further qualified. Rather than ask, "Why is Lisp unpopular?", ask, "Why is Lisp unpopular for X?". Lisp is actually reasonably popular for some things, and it's those things to which existing dialects are best adapted. Being well adapted to Y often means not being especially well adapted to X, even if it's for subtle reasons. It's like asking, "Why are Arctic foxes ( Alopex lagopus ) not very…

Actually, it might be more accurate to think of programming languages as genes rather than animals, or at least, to include programmers as an important part of the phenotype. A complication in the adaptation view is that programmers can stop certain "genes" from being expressed. So a language like Lisp might not catch on in certain environments because the features that would make it powerful, like metaprogramming, are never actually used.

Re: Why Lisp Is Unpopular

#50
One problem I have with Lisp is that there are a lot more fanatics than in other languages' communities. They are easily upset by even the mention of other languages and seem to see Lisp as the ultimate language with no room for any others. This produces blog and newsgroup posts extolling the virtues of Lisp and telling everyone who doesn't love Lisp that there is something wrong with them. People who say they know Lisp and still choose to use other languages are looked at as particularly defective. It's not just that they don't want to use other languages, it's more like they don't want other languages to exist. They spend at least as much time trying to make other languages look bad as they do trying to make Lisp look good.

I know this doesn't describe everyone who uses Lisp, but these fanatics are very vocal and the reason I stopped reading comp.lang.lisp and decided to try other languages. I am not against being excited about a language and trying to convince other people to use it. I love Haskell and tell people about how wonderful it is all the time, but I understand that they have reasons for using the tools they do. I am more interested in the theory of a language than in how good it is at solving some practical problem, but some people don't care at all about theory and just want to get things done. I don't understand why, but I accept it. I think that the most important thing the Lisp community can do to be more popular is to be friendly to newcomers and those who disagree about Lisp's superiority. There are some very helpful and friendly people, they just need to be more vocal and drown out those who are not.

Post reply on HN