Comment by znpy
7 years ago
Because as a language it has some nice properties that make it conceptually easy to do otherwise complex.
The sad truth is that beside that, it’s severely lacking in real-world-usable libraries, there are a number of implementations with none of them gaining a majority share if users and, last but not the least, a kind of distance from the operating system that make it non-obvious to reason about the usual stuff (“ports” instead fo file descriptors, vm memory dump to disk as a form of binary executable generation, etc etc).
So lisp has some cool things but will never likely become a mainstream language, hence the perpetual hype.
>there are a number of implementations with none of them gaining a majority share
SBCL has the majority share. But it doesn't matter, since ANSI Common Lisp is a standard and my code runs on many CL implementations with no changes.
>a kind of distance from the operating system
Citation needed. A bit puzzling to say that when some CL implementations have fantastically easy FFI features (CCL, ECL, CLISP).
>“ports” instead fo file descriptors
We don't have this. Streams are streams, like in any other typical language. File paths are represented by... Pathnames (data type).
>vm memory dump to disk as a form of binary executable generation
1. The dump is part of the generated executable
2. Now compare to most dynamically typed languages: they can't generate an executable nor compile to machine lang.
3. "Memory dump to disk as a form of binary executable" is only true of the Common Lisp implementations that are able to save the image. ECL, for example, doesn't do that. It compiles to C and C gets compiled to Exe.
4. Being able to save and restore images is one of the best features of CL (and Smalltalk as well)
>So lisp has some cool things but will never likely become a mainstream language
You need to review your history, since Lisp was a mainstream language in the past. To put an example, it was #3 in the TIOBE index for 1989, #5 for 1994.
Do you mean majority share between CL implementations or Lisp like languages?
If the former, I don't have the exact numbers but SBCL is practically the de facto standard with about ~80% of library pulls from QuickLisp.