Live data from Hacker News

Why is Common Lisp not the most popular programming language?

daninus14.github.io

301–310 of 339 posts

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

#301
post #299

Earlier quoted context omitted.

> I think you might be on to something. Symbolics was very much in danger of making large software projects possible by one person or a small team of people. It seems as if the corporate world has responded to the proliferation of more powerful software development tools -- not only in Lisp, but certainly Lisp and Smalltalk had an outsized influence -- by lowering the skill ceiling to make devs more fungible, and cre…

> This is a ridiculous LISP conspiracy theory that really needs to die. Not really. Lisp can be a power amplifier if you can keep it under control. But, as I've argued above, that limits you to a small stable team. If I could start a new company with a few solid Lisp buddies and I knew that's going to be the core team for the next decade, I think I'd use Lisp and it would be a significant productivity gain. But but b…

It's possible to build teams in the low hundreds. Example:

https://www.youtube.com/watch?v=hMVZLo1Ub7M

Siscog, company is 37 years old, 130 employees, 1.7 Million lines of Lisp code. In the planning/scheduling domain for railway companies.

Other example ITA Software, bought by Google for $700 Million dollar. 100+ Lisp developers.

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

#302
post #189

Earlier quoted context omitted.

Nup. Not the language. See how long it takes you to set up a Common Lisp implementation from scratch. Eg steel bank. Better yet, watch a kid try it on for size. Land of Lisp isn’t all bad but they can’t limit themselves to just one! Brackets are beside the point.

apt install sbcl sbcl —script hello.lisp

Try it. Point someone at trying to learn programming at sbcl. What percentage do you think have any clue what you just wrote let alone run a debian based distro or even know what that is?

Compare that experience to choosing python. Forget the actual language just all the overhead. It's not a close run thing no matter how angry common lispers get about it.

This is my exact experience of common lisp. People aggressively pretend there's no problem other than other people are stupid and have broken minds because they didn't get functional early enough and so on.

Land of Lisp at least tried, right? And did a vastly better job than anything else I've seen. Couldn't manage to do it all on sbcl though, huh? That's a shame, isn't it? Why do you think the best effort failed in something like that?

https://nostarch.com/lisp.htm

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

#303

Earlier quoted context omitted.

> Also: a maintenance nightmare as soon as you have more than ~1 person working on the codebase! Lisp isn't any harder to maintain than any other language. The Lisp codebases I've worked on, even professionally, were originally written by talented, experienced engineers and were in fact wonderful to maintain. > Now imagine something like Lisp where every developer & team morphs it in a different way and you have a pr…

> The Lisp codebases I've worked on, even professionally, were originally written by talented, experienced engineers But companies have untalented junior engineers, you need a language they can write while still remaining structured. Talented professional engineers can write assembly language in a very easy to read and structured manner. But there is a reason basically everyone writes in structured languages today in…

With good leadership, untalented junior engineers can become very productive junior engineers. I've seen it happen. Within weeks some kids fresh out of college, who had been taught everything mainly in Java (this was still the JavaSchool era, more or less) were proficiently and happily contributing to our C++ code base. They were pretty good, but they weren't Carmack or anything.

Now if your leaders are untalented, you have an organizational issue: you're promoting schlubs. Why are you doing that? Stop doing that.

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

#304
post #291

Earlier quoted context omitted.

A Python list is an ArrayList/vector, not a linked list. CL lists are linked lists of cons cells.

Does the CL spec require the implementation to use linked lists or merely to behave as if it were a linked list? I believe it is the latter and that makes a world of difference when it comes to optimization. A great mainstream example of this are JavaScript Arrays. They are defined to behave as hashtables. They inherit from Object. Their "indices" are actually strings instead of numbers (all object keys are strings a…

> Does the CL spec require the implementation to use linked lists or merely to behave as if it were a linked list?

"list: a chain of conses in which the car of each cons is an element of the list, and the cdr of each cons is either the next link in the chain or a terminating atom." -- https://www.lispworks.com/documentation/HyperSpec/Body/26_gl...

Interpret that as you will. But what "world of difference" optimizations are you suggesting here? Give an example of a significant optimization at the implementation level that preserves cons semantics.

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

#305
post #292

Earlier quoted context omitted.

That may or may not be the case (that they're great for exploratory code, I have actually mixed feelings about that), but it in fact points directly at the problem I was referring to: using Common Lisp in the idiomatic and expected way involves reading and writing a whole bunch of list processing code. It's not so much that it's a foreign language in the syntactic sense (although it is) but the idiomatic semantics ar…

How is the idiom of linked lists foreign to modern devs? You create a list of items. You can add/remove elements to the start, end, and even the middle and even indexing is just as easy with the `nth` function. From a programmer perspective linked lists are universally better. That is to say that if a computer could perform operations on a linked list as quickly and with as little memory as it could for an array, nob…

> if a computer could perform operations on a linked list as quickly and with as little memory as it could for an array, nobody would ever choose to use arrays

You can start from a false premise, and draw any conclusion you like. If a computer could perform operations on a linked list as quickly and with as little memory as it could for an array, purple unicorns would be grazing on my lawn right now. :)

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

#306
post #301
post #299

Earlier quoted context omitted.

> This is a ridiculous LISP conspiracy theory that really needs to die. Not really. Lisp can be a power amplifier if you can keep it under control. But, as I've argued above, that limits you to a small stable team. If I could start a new company with a few solid Lisp buddies and I knew that's going to be the core team for the next decade, I think I'd use Lisp and it would be a significant productivity gain. But but b…

It's possible to build teams in the low hundreds. Example: https://www.youtube.com/watch?v=hMVZLo1Ub7M Siscog, company is 37 years old, 130 employees, 1.7 Million lines of Lisp code. In the planning/scheduling domain for railway companies. Other example ITA Software, bought by Google for $700 Million dollar. 100+ Lisp developers.

> Siscog

This is really cool! Had not heard about them. Thanks!

Nice, so looks like low hundreds of developers may be possible given the right environment.

That said, I don't feel it disproves my impression. If the company is 37 years old, still privately held and still has less than a hundred developers then it is clearly not a company looking to grow fast above all else. So feels like a nurturing environment for Lisp.

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

#307
post #194
post #181

I agree with the conference and foundation part. I've been to many lisp conferences, but they are still extremely weird, compared to other languages conferences. I'm pretty sure it's the people. Lisp is a lone man sports. There's not much community spirit. There's not much github, patches are not accepted. In general. Of course there are many great people around, of the anti-academic background. Who tried to build co…

> I'm pretty sure it's the people. Glass house?

> I'm pretty sure it's the people.

> Glass house?

A sympathetic reading of that might be: “I’m pretty sure it’s the a-collaborative go-it-alone culture of many of the practitioners”.

Lisp’s famous strength at enabling coding styles tailored to every specific domain, may also be its weakness with regard to low friction code sharing & adoption.

That, and the distance between Lisp’s high dynamic flexibility vs. more restricted imperative or functional coding styles that are easier to optimize at the low level, may encourage more bespoke development practices.

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

#308
post #27

Generally speaking, the best things are not the most popular. There are probably a few exceptions such as classical music, but I've found this rule of thumb to hold in many different domains.

People’s ability to process complexity must play into where the peak is.

I large culture consisting exclusively of genius composers would no doubt develop styles of music that would relegate our pinnacles of classical music to their “pop”.

No doubt there is a bell curve of how easily each of us intuit novel abstraction, vs. benefit from more predictability (i.e. restrictions, enforced patterns).

Mainstream languages are going to be more predictable and restrictive or patterned, than programming languages auteurs might prefer.

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

#309
post #24

The same reason as why Esperanto is not the most popular spoken language. It's historical reasons and network effects.

No, it's difficult to read and understand. It's a parenthesis circus. For example - https://github.com/dimitri/pgloader/blob/master/src/pgsql/pg...

“Read” the indentation - ignore most of the parentheses.

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

#310
post #72

Ecosystem. For example, the Common Lisp ecosystem never converges to a single implementation of any single "thing". Take Rust. You may not like Serde for serialization, but the ecosystem has converged to it. Similarly, Tokio. You use them until you understand why you need something else and then bite the bullet of going against the tide when you can't make them work anymore. Okay, so what serialization has Common Lis…

But it is easy to roll your own for your own problem area!

—-> Everyone rolls their own!

Its an interesting problem.

Post reply on HN