4 ms·
"Unpopular" needs to be further qualified. Rather than ask, "Why is Lisp unpopular?", ask, "Why is Lisp unpopular for X?". Lisp is actually reasonably popular
by mattjones 19y ago
"Unpopular" needs to be further qualified. Rather than ask, "Why is Lisp unpopular?", ask, "Why is Lisp unpopular for X?". Lisp is actually reasonably popular for some things, and it's those things to which existing dialects are best adapted. Being well adapted to Y often means not being especially well adapted to X, even if it's for subtle reasons.
It's like asking, "Why are Arctic foxes (Alopex lagopus) not very popular on the African savanna?" Because they didn't evolve in response to the demands of that environment. The bat-eared fox, Otocyon megalotis, did.
The differences between Alopex and Otocyon aren't so massive that they seem like totally different kinds of animals. But it would be tricky to predict exactly what they should be, and develop the right kind of fox in a lab. Some adaptations are obvious (thick fur), other less so (specialized circulatory system). I suspect the same is true for programming languages. It's tricky to determine exactly what makes Scheme better suited to the classroom than to developing general applications. Perhaps the best way to solve the problem is the way PG is doing it with Arc, which is to take a very young, malleable dialect of Lisp and plunk it down in the environment to which you want it to become well adapted, and then continue development in response to the demands you encounter.
- mattjones 19y agoActually, it might be more accurate to think of programming languages as genes rather than animals, or at least, to include programmers as an important part of the phenotype. A complication in the adaptation view is that programmers can stop certain "genes" from being expressed. So a language like Lisp might not catch on in certain environments because the features that would make it powerful, like metaprogramming, are never actually used.
- stevecooperorg 19y agoOK, I'll bite; (mapcar #'why-is-lisp-unpopular? (list system-administration enterprise-applications web-applications embedded-software mobile-phone-apps blogging-software compiler-writing configuration-files)) ;)
- mattjones 19y agoI don't know the specific reasons why CL and Scheme are not very popular for those things; my general answer is that they're adapted to other things (like classrooms and smart students' brains). My point is that it's very hard to figure out, and so the best bet is probably to let a new dialect evolve in response to the demands of one or some of those environments.