Live data from Hacker News

Why is Common Lisp not the most popular programming language?

daninus14.github.io

31–40 of 339 posts

Re: Why is Common Lisp not the most popular programming language?

#31
Because despite the enthusiasm of the advocates, it's not actually the most useful programming language.

"But I used it for X and it was insanely productive!" Great, but there's a lot of programming that is not X programming.

"It's just that the rest of you are not enlightened!" Right... the maharishi's people tell me the same thing.

"It perfectly fits the way your mind works!" It perfectly fits the way your mind works. It doesn't perfectly fit the way most of our minds work.

Lisp winds up not being the most productive language for the vast majority of programmers. So it's not very widely used.

Re: Why is Common Lisp not the most popular programming language?

#32
I started learning Lisp recently. The text I was reading said people complain about the parentheses and I see a number of people stating that here. But that is not a problem when you have an editor that understands lisp and keeps track of all that for you. Just focus on the code and the editor will take care of the parentheses for you.

Re: Why is Common Lisp not the most popular programming language?

#33

Essentially all the Lisp features except for s-expression syntax and attendant macros have been adopted by popular mainstream languages. CL has already given everything it had to give.

Those cases are well served by Clojure, which gives you the macros + a modern, professional, battle-tested standard library (via Java).

Re: Why is Common Lisp not the most popular programming language?

#34
Common Lisp once had plenty of backing from major companies like Symbolics, Xerox, and Texas Instruments, as well as smaller companies such as Harlequin. Even Apple owned Macintosh Common Lisp at one point, and SK8 (which could be considered a follow-up to HyperCard) was implemented in it. Had Apple not had its problems in the 1990s, one potential alternate version of Apple I could imagine would be some sort of Lisp OS with a Mac interface (true story: the Newton could’ve had a Lisp OS if it weren’t for C++ advocates winning out). Unfortunately, the AI winter of the late 1980s and 1990s severely damaged the Lisp market; companies either abandoned Lisp or went under. The torch of Common Lisp has been carried on by open source and commercial implementations, but there are no major companies actively backing Lisp in the way that Java is backed by Sun/Oracle and that Python is core infrastructure at countless companies, large and small.

I didn’t know that conferences could potentially generate a lot of revenue to help fund programming language development. I’m quite intrigued by this idea, actually. Thanks to advocacy of the language, there are probably thousands of Common Lisp developers in the world, many of whom are working on interesting projects. Perhaps a series of profitable Common Lisp conferences will provide the spark needed to come up with a modern Common Lisp foundation that is able to support further development of the language.

Re: Why is Common Lisp not the most popular programming language?

#35
post #25

Earlier quoted context omitted.

I disagree. I have no problem with lists obsession in other languages like OCaml. The parentheses are just too much. I get how elegant and unambiguous they are for computers but I am not a computer. It's like RPN. It's elegant and easy for code to parse and unambiguous and all these nice things.... except it isn't easy for me to parse. Compilers are perfectly capable of compiling readable code like Rust so I don't se…

> It's like RPN That's genuinely fascinating for me, because I find postfix notation to be more intuitive and easy to parse than infix notation.

It's definitely easier to parse programatically, but IMO it's a nightmare to read as a human. e.g. compare these expressions:

  (x+y)^2 = x^2 + 2xy + y^2
  x y + 2 ^ = x 2 ^ 2 x y * * y 2 ^ + +
I find it nearly impossible to parse this without actually maintaining the stack in my mind.

Re: Why is Common Lisp not the most popular programming language?

#36

Because most programming is done by people trying to do a job and it requires broad tooling support and familiarity, LISP is a language that has neither. LISP, (similarly to Haskell) requires you to bend your mind and pay an upfront mental cost in order to access it's benefits, which are that everything is equally easy to describe. No construct in LISP feels like it requires you to bend the language in an awful way b…

This is only true in terms of "free" options. There were (and are?) decent paid options that had quite good tooling. In the free software realm, though, it was lacking.

And... this is kind of the point of the post. The python community doesn't just push to advance only the language, they advance the use of the language in the free software world. What is the closest that the common lisp world has?

Re: Why is Common Lisp not the most popular programming language?

#37
Somebody famous said something like "Lisp makes hard things easy, and easy things hard", which finally, after all these years, clarified it for me.

(It was quoted on HN in a previous discussion, and I was impressed with the credentials of the person quoted, but I don't have the reference handy.)

Re: Why is Common Lisp not the most popular programming language?

#38

Because most programming is done by people trying to do a job and it requires broad tooling support and familiarity, LISP is a language that has neither. LISP, (similarly to Haskell) requires you to bend your mind and pay an upfront mental cost in order to access it's benefits, which are that everything is equally easy to describe. No construct in LISP feels like it requires you to bend the language in an awful way b…

I agree with you about the upfront costs. As a functional programming fan (F# in particular), I can’t deny that it sometimes feels like puzzle solving. Fun, but not easy at first.

On the other hand, you can quickly throw together some crappy Python code to do the same thing, but you end up paying 10x the cost over the long run in debugging and rewriting.

So my advice for people who care about the code they write is to pay the upfront cost to do it well. The good news is that the learning curve does get less steep eventually, and at that point you feel like a goddamn ninja.

Re: Why is Common Lisp not the most popular programming language?

#39
post #22

Because most programming is done by people trying to do a job and it requires broad tooling support and familiarity, LISP is a language that has neither. LISP, (similarly to Haskell) requires you to bend your mind and pay an upfront mental cost in order to access it's benefits, which are that everything is equally easy to describe. No construct in LISP feels like it requires you to bend the language in an awful way b…

I didn't find Lisp to be particularly costly in terms of mental energy to become competent in. Rust, however, was a heavy lift. Perhaps different people are inherently more or less compatible with different languages?

> Perhaps different people are inherently more or less compatible with different languages?

I think this is true. Peoples' minds work differently; different languages fit different minds better.

Re: Why is Common Lisp not the most popular programming language?

#40
post #8
post #4

I love programming in common lisp. It has made programming fun again. I don't know if that makes me a lisp person. I just know it makes programming fun for me.

I'm curious if you can put your finger on exactly why you find it fun? (While I've never used CL, I do use Clojure and similarly find it huge amounts of fun.)

Because I can eliminate drudgery in a way I can understand.

I find that no matter what language I use, I eventually want code that writes code. Other languages have bad tools for this. Sometimes I use an editor, or something else like m4, to generate code.

Haskell has Template Haskell, which is icky in a variety of ways, and it has other stuff that I have a hard time figuring out because I’m not a math PhD.

In Lisp I just write a macro.

Also, I agree strongly with the post below. I like Common Lisp precisely because it is old and unchanging. I like that I can get decades-old used books that are still current. I like that the next compiler version won’t break my code.

https://stevelosh.com/blog/2018/08/a-road-to-common-lisp/

Post reply on HN