Lisp requires a new way of thinking - in recursion, lambdas, mapcars etc. - to write good code which reflects the awesome abilities of Lisp. Unfortunately many people don't grasp it. They don't want to think or to learn superior ways if they just can use a language which makes them able to solve their problem. The way to the solution doesn't matter a lot if the solution itself works.
Btw the same phenomenon happened with Ada. The Ada 95 language is awesome. I admired it, it was real fun to use it. But average programmers are simply overwhelmed. That's the reason why Ada died.
Many people also complain about Unix and Linux but if you take the effort and learn it seriously you will love it.
What awesome abilities are you talking about particularly? Recursion, lambdas, and mapcar are available in just about every modern languge, be it VB, Ruby, JavaScript, or PHP.
Lisp is so different from all other languages that you have to use it to understand it. Just reading about it is not enough.
Note that there are many variants of Lisp. Older Lisp versions are suitable for experts only. For beginners I would recommend Scheme which is a well defined successor of Lisp. I would recommend Racket (http://racket-lang.org/) as SDK. It is suitable for beginners as well as for professional development.
Scheme is a successor to Lisp, the same way motorcycles are a successor to trucks. Despite the syntactic and historic link, they are pretty much different languages(as is clojure). Although scheme is a descent intro to lisp-like languages, and racket is an awesome environment, both for teaching, and probably for actual work(haven't done any in it, so I’m only speculating about this), one piece of advice to those who chose to start with it is to keep in mind that scheme is only one way to look at what lisp is(and IMHO not the most enlightening or useful one), and its important to know what assumptions its creators made about what programming should be like.
As I pointed out in a comment at the beginning of the thread, scheme teaches you some habits that don't translate well to other lisps, so to those thinking of picking it up, be mindful of the assumptions of the language, and when you decide to look into other lisps, don't assume they will be the same there as well.
In fact i would actually recommend learning clojure or common lisp before scheme. I consider both of them to be better languages, but i have my own set of assumptions that might not be shared by others :).
I've had previous dalliances with lisp but it never really struck me as a big enough win to pursue. So it's interesting to see a decent list of distinctive features -- I've gone over it to see what features there are that don't exist in my usual work language, C#. The things off this list which I don't have, couldn't code, and actually want are macros, conditions and restarts, and generic functions. I don't understand MOP enough to comment on, either. I'm pretty sure the rest is either available as libraries, just isn't important enough, or could be coded fairly quickly -- although I'm not sure it'd be wise to try to write common lisp in C#, Greenspun's tenth rule and all. ;)
I do note the PG quote at the bottom of the page -- "the power of Lisp cannot be traced to any single one of them. It is the combination which makes Lisp programming what it is" -- and I can see that unity being very elegant.
But the real standout item is macros. I suppose it's the only unstealable feature. Or rather, those attempts to steal it, like .net DLR Expression Trees, make really ugly code and are never going to be standard programming techniques.
Lisp requires a new way of thinking - in recursion, lambdas, mapcars etc. - to write good code which reflects the awesome abilities of Lisp. Unfortunately many people don't grasp it. They don't want to think or to learn superior ways if they just can use a language which makes them able to solve their problem. The way to the solution doesn't matter a lot if the solution itself works.
Btw the same phenomenon happened with Ada. The Ada 95 language is awesome. I admired it, it was real fun to use it. But average programmers are simply overwhelmed. That's the reason why Ada died.
Many people also complain about Unix and Linux but if you take the effort and learn it seriously you will love it.