I bought Graham's "Ansi Common Lisp" book and read
it briefly, and tried to write some code as well.
I also read "Successful Lisp" briefly.
Hoping to give constructive feedback and not to start a flame,
here are some opinions/impressions.
Please note that :
1. These are mostly impressions, not complete opinions.
2. I am only talking about Common Lisp. I am not talking about Scheme, Clojure or other stuff.
Ok then:
1) Lisp feels... Messy. Expecially when you're learning it.
2) Maybe... Too many implementations? This is not a problem per se,
but sometime it happens that not all the implementation implement
all of the features, or implement them differently enough that
you have to write the same code for different interpreters.
Example: https://github.com/stumpwm/stumpwm/blob/master/make-image.li...
see the various #+clisp, #+sbcl and stuff.
3) Batteries not included. The ANSI standard defines the language and
pretty much nothing more. Yeah you have libraries and quicklisp, but
it feels fragile and quite "opaque". Also, I always used SBCL and I am
not 100% sure all the libraries work with all of the interpreters/compilers.
I feel it would be nice to have a new standard that defines a set of
additional API that implementors should implement.
Ideally, it would be nice to have common lisp to be "batteries included"
like Python. But please let's avoid the Scheme SRFI mess.
Consider this: it is a fact that MIT introductory programming class
switched from Scheme to Python because among other things, students
were spending too much time reading libraries manuals and implementation
references instead of writing code.
5) The Common Lisp HyperSpec. Let's say I find it to have a poor
usability.
4) Stuff is generally poorly documented, and fragmented. While things
like quicklisp work, it's visible that those are basically one-man
projects. This isn't reassuring.
5) Given the heritage, there is not such thing as a "Lisp community"
and the lack of governance is quite evident in the sense of lack
of direction and lack of uniformity in pretty much everything.
6) Emacs. "It's lisp!". Well actually emacs lisp and common lisp are
different languages, and differences will come up.
Emacs is my editor of choice, but I' starting to grow worried about it.
These are some of the reasons why I decided not to "invest" in Common Lisp.