> all have people building incredible things with them.
what the trope really meant is that why these lisp dialects do not become mainstream despite the sales pitch of it being superior.
The examples mentioned are niche at most. Why is it that you are more likely to see a nodejs app or a java app, if you randomly sampled any software project?
These are not languages for wide masses, TBH; they often require a paradigm shift, and you need to change how you approach the problems. Take, for example, Scheme - it doesn't have for/while loops out of the box, yet you can build a CLOS-like OO system on top of it (which can be considered one of the most powerful OO systems out there). Clojure doesn't allow you to mutate variables but has a killer multithreading ability without complicating the language (compared to Scala or Rust). Common Lisp adds a ton of stuff not found in mainstream languages: CLOS, loop DSL, macros that will generate macros that will create macros, and so on.
Quite similar is with other non-lispy languages: Haskell, OCaml, APL dialects... Yes, they are often superior (code is more concise, expressive, or faster), but the mainstream prefers to stay in the comfort zone of C-like languages and the way of thinking.
>Why is it that you are more likely to see a nodejs app or a java app, if you randomly sampled any software project?
It comes from History. Lisp was way more powerful than anything else but it was ultra expensive as it required special hardware that "hardware accelerated" the Lisp code. The basic Lisp instructions were opcodes.
We are talking about USD 100K-200K of the time for a single machine. Big multinationals discovering oil in Saudi Arabia could pay that(and paid that for 3d visualizations of the terrain explosions tests),big TV networks,multinationals, but it was out of reach for mere mortals.
In normal machines, Lisp was extremely slow as it was interpreted without native opcodes.
The first languages in microcomputers were basically Basic. Microcomputers were toys compared with any serious machines but normal people could buy that.
So programmers started using assembly to bridge the gap between underpowered micro-computers and the serious machines they have seen on their work of had heard about.
Using lots of efficiency tricks they managed to extract more and more power from those machines. More people bought microcomputers, prices went down, machines got more powerful.
Over time efficiency was not as necessary and companies started using C, that evolved into Obj C, and C++, java, python and the languages that we have today like javascript(developed with C tools).
There were billions invested in making that change possible. Billions that Lisp did not get.
Probably because vendors with deep financial pockets specifically designed/developed/selected these languages (JavaScript, Java, ...) to become popular, integrated them into their offerings and invested billions into it? It didn't save SUN (the developer of Java), which got into financial trouble and was bought by Oracle.
Lisp was already at the end of its hype cycle and had entered the death zone (-> the AI winter end 80s), when the Internet took off start/mid 90s. L*** was a forbidden word in the 90s.
what the trope really meant is that why these lisp dialects do not become mainstream despite the sales pitch of it being superior.
The examples mentioned are niche at most. Why is it that you are more likely to see a nodejs app or a java app, if you randomly sampled any software project?