1950s Lisp didn't even have lexical scope, for goodness sake. (If you don't know what dynamic scoping is, best to leave it that way—it's horrendous.)
Re:I can't keep up with idiomatic Rust
by unlinked_dll on Thursday April 09, 2020 @11:52AM
(#22823728)
If this were true we wouldn't have done so much research into programming languages over the last 50 years.
PL design is not a problem to solve, it's the study of the way to express problems and their solutions. As long as their are new problems and ways to solve them, we'll find new ways to improve PL designs.
Why does nobody use it? I've never heard a satisfactory answer from LISPers. "People are dumb" is not a satisfactory answer.
The best answer I've seen is the Lisp Curse. It's basically the idea that Lisp is so flexible that every project becomes its own DSL / idiomatic version of Lisp. Imagine what's being discussed here, except that every programmer actually has the power to just make the change rather than have to submit it to the central Rust team for consideration and eventual implementation.
I had the same thought. Lisp puts an end to the bikeshedding; everyone can build their own shed and paint it whatever they want, without having to break upstream.
It also applies to the recent "Why I'm Leaving Elm" article. https://news.ycombinator.com/item?id=22821447
Part of the struggle depicted in the article is between user defined language extensions "competing" with the upstream compiler.
That's exactly a social problem that becomes a technical problem in Lisp.
There are a multitude of reasons, but I think the biggest ones are (1) the unfamiliar syntax; (2) the fact that Lisp runtimes tend to want all code that interacts with it to also be Lisp instead of focusing on FFI and interoperability; (3) Unix and C were free and so went viral.
To be honest, programming language design has been a solved problem since the 1950s when LISP came out.