Live data from Hacker News

Why Lisp Is Unpopular

news.ycombinator.com

31–40 of 159 posts

Re: Why Lisp Is Unpopular

#31
post #2

There are many hypotheses out there that Lisp lacks popularity for this or that flaw in the language or in the community. The problem with these hypotheses is that you can point to similar or bigger flaws in languages that have grown popular. If a language has good qualities, people will figure out ways around the problems. My hypothesis is that Lisp is unpopular for the exact same reason some of us love it: concise…

I really don't find that lisp, at least common lisp, is particularly concise. Consider lambda functions, one of those things that lisp is particularly praised for;

   common lisp: (lambda (x) (+ x 1))
   C#3        : x=> x + 1
   ruby       : { |x| x + 1 }
   python     : lambda x: x + 1
   Haskell    : \x -> x + 1
   
Just in terms of character count, CL is the longest of the lot.

No, the problem with trying to get a lisp under your belt has alredy been mentioned. Compared to the alternatives;

- choosing an implementation is a research project (clisp? sbcl? allegro?) - documentation is weaker - libraries are harder to find and install (ASDF vs Rubygems, Python eggs, etc.) - emacs/slime is an investment to learn - examples are few and far between - the language itself (the words, not the punctuation) is inelegant (mapcar, setq, cdadr)

I've tried really hard to learn lisp, and it turns out that actually, while there may be some platonic lisp that IS great, actually programming common lisp, now, is a massive effort in struggling in the dark.

Re: Why Lisp Is Unpopular

#32
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…

The best retort to the parenthesis complaint is: " I like to ask people who complain about parentheses in Lisp if they are bothered by all the spaces between words in a newspaper. " ( http://smuglispweeny.blogspot.com/2008/02/what-hell-is-fortu... )

Well if you ignore the human visual processing system, that's a valid argument. One ascii character is just the same as the next.

Unfortunately for lisp, that's not the case. Whitespace is different than lines. There's a reason most people can't look past the parens - they're hard to look past.

Re: Why Lisp Is Unpopular

#33
post #13
post #11

Earlier quoted context omitted.

Tell me, where's the clear winner between ruby and python? Between python and PHP? Between PHP and Perl? Between OCAML and Haskell? Plenty of languages have managed to rise in popularity through a time when you didn't know if any of your code might run on the future winner. At least with Lisp implementations you know some of your code will work with the winner. "Waiting for a clear winner" is not a reason for Lisp no…

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?

Re: Why Lisp Is Unpopular

#34
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 your hatred for Perl is unfair. Yes, eval and strings is a terrible substitute for macros. Only an idiot would pretend otherwise. But 90% of the time, the other tools we do have available (first-class functions, everything internal being dynamic) lets us get by. For example, a few months ago I was working on a blog post about how nice it would be if Perl had macros. I had a perfect example picked out, but I d…

Oh, I'm sorry. I didn't want to mean that Perl is a bad language at all. I was trying to explain my experience with my fellow coworkers, who happened to love perl.

Actually, for the last 3 years I've been using it at work, including first-class functions (and Catalyst ;)), and I've it enjoyed quite a lot. I've some minor issues with it's syntax (for my taste too much sigils, but I understand why they are there).

What I meant to be masochistic is trying to use eval with strings to emulate macros, and even trying to defend it.

On the other side, the CPAN is amazing and I find difficult to live without it!

BTW, I hope you'll publish here the Lisp to Perl compiler! Lisp + CPAN sound really awesome and productive!

Re: Why Lisp Is Unpopular

#35
post #11
post #9

Earlier quoted context omitted.

I'll throw in my 2 cents... Up until recently, one "flaw" that Lisp had that other languages didn't was one obvious best implementation. If you want to work in Perl, Python, Java, Ruby, etc. you knew where to get them, and you know they would work similarly across platforms, so programs you wrote on your Mac would work on Windows and Linux, etc. With Lisp, different implementations did the "interesting" stuff (thread…

Tell me, where's the clear winner between ruby and python? Between python and PHP? Between PHP and Perl? Between OCAML and Haskell? Plenty of languages have managed to rise in popularity through a time when you didn't know if any of your code might run on the future winner. At least with Lisp implementations you know some of your code will work with the winner. "Waiting for a clear winner" is not a reason for Lisp no…

Perl, PHP, Python, and Ruby are all interesting failures. They are important for their effect on languages that will last longer (Lisp, ECMAScript) though.

Edit: I don't mean these are "failures" now, just that they're doomed in the long run. Does anyone think they'll be able to stand any of these languages in 2018? I don't they'll have evolved much by that point either. The older a language gets, the harder it is for it to evolve. And if it tries to make too big a leap, people simply don't go for it (PHP5, Perl 6).

Re: Why Lisp Is Unpopular

#36

Earlier quoted context omitted.

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…

What makes Lisp a "smart" language?

Metaprogramming capabilities. Most people seem to prefer keyboard macros or cut-n-paste to actually writing language-level macros.

Anyway, Lisp (and many other languages) gives you a lot of tools to make programming more thinking-intensive and less typing-intensive. Since typing is easy and thinking is hard, it follows that many people will prefer the language that makes you type.

JMHO.

Re: Why Lisp Is Unpopular

#37
post #28

I don't understand. Is the claim that Lisp is less popular now because years ago large numbers of programmers working on government-sponsored projects had to use it, but now proportionately fewer programmers work on government-sponsored projects?

Yes, I believe the claim is that when huge government projects like this were completed, all the Lisp programmers left, and had to retrain to find non-Lisp jobs. This sounds similar to the "AI collapsed and took Lisp with it" argument.

Re: Why Lisp Is Unpopular

#38
post #11

Earlier quoted context omitted.

Tell me, where's the clear winner between ruby and python? Between python and PHP? Between PHP and Perl? Between OCAML and Haskell? Plenty of languages have managed to rise in popularity through a time when you didn't know if any of your code might run on the future winner. At least with Lisp implementations you know some of your code will work with the winner. "Waiting for a clear winner" is not a reason for Lisp no…

Perl, PHP, Python, and Ruby are all interesting failures. They are important for their effect on languages that will last longer (Lisp, ECMAScript) though. Edit: I don't mean these are "failures" now, just that they're doomed in the long run. Does anyone think they'll be able to stand any of these languages in 2018? I don't they'll have evolved much by that point either. The older a language gets, the harder it is fo…

Like it or not, I don't think you can call any of those languages failures. Certainly not PHP, Python, or Ruby. I would venture to guess that all three are more commonly used than Lisp.

Re: Why Lisp Is Unpopular

#39
There are too many disparities between a problem domain (microwave engineering) and a programming technique (Lisp) to compare the two this way.

I think it more reasonable to compare the popularity of problem domains (e.g microwave engineering vs robotics) or techniques (e.g. S-Parameter Simulation and Lisp).

Re: Why Lisp Is Unpopular

#40
post #38

Earlier quoted context omitted.

Perl, PHP, Python, and Ruby are all interesting failures. They are important for their effect on languages that will last longer (Lisp, ECMAScript) though. Edit: I don't mean these are "failures" now, just that they're doomed in the long run. Does anyone think they'll be able to stand any of these languages in 2018? I don't they'll have evolved much by that point either. The older a language gets, the harder it is fo…

Like it or not, I don't think you can call any of those languages failures. Certainly not PHP, Python, or Ruby. I would venture to guess that all three are more commonly used than Lisp.

I mean failure like the tyrannosaurus rex. That is, from an an evolutionary perspective. Not at the arbitrary present. And I'd wager that Perl is still actually more used than Python or Ruby, it just doesn't get the love on social news sites and elite blogs.
Post reply on HN