>>19
CLisp (GNU CLISP implementation of Common Lisp) is somewhat average, it's probably one of the slowest CL implementations since it's interpreted (but it does have a JIT). There are other implementations with much better performance overall (SBCL, ClozureCL, the commercial ones, etc).
1. Good library support.
I don't think it has as many libraries as C or Java has, but I have yet to not find a library that I needed, and usually with a decent license too (public domain, BSD/MIT, LLGPL are very common, so you can even use it in proprietary products if you really want to). My only problem is that not all libraries are that well-maintained, so you might end up having to fix a bug here or there, if you encounter any, but usually this isn't a huge problem for anyone knowing the language (I found debugging CL code to be rather easy, especially with the available debugging facilities).
2. Several features that encourage real world usage e.g.
- Bugfree/mature implementation
Most implementations are standards compliant and pass the ANSI tests. They also have quite a few extensions beyond ANSI (gray streams, MOP, sockets, inline assembler, threading, debugging facilities, etc).
- Good performance, especially for critical things like I/O
This varies. Most implementations compile to native code and they have decent performance. SBCL generates good code, but the compiler is slower. ClozureCL generates average code, but has a fast compiler. CLISP is interpreted, but it also has a JIT, it's probably the slowest. ABCL is okay, runs on the JVM, so about as fast as that, plus some overhead. Then you have the commercial ones: LispWorks, Allegro CL, Sceineer CL, Corman ...
They compile to native code, and some have an interpreter as well. They differ in what the implementation offers (mostly ENTERPRISE libraries(CORBA for example, or object databases/persistance (there's free alternatives for these of course)), very good threading support, and so on)
- Easy to program in
I find it easy to program in, and I find my code maintainable. The problem here is that a lot of people have problems learning the language to begin with and getting over initial hurdles. Getting the tools and environment set up is also a problem for some people. I've set up implementations on Windows and Linux before without any issues. I've seen people use them on OS X too.
3. High adoption by for-profit and notable non-profit organizations
I wouldn't say so, but there are companies whose likelyhood depends a lot on it. Notable examples are ITA software and some knowledge-base companies. I still believe it's mostly a niche language, but it does receive some commercial support. Free implementations ocasionally have people have for support(ClozureCL and SBCL mostly), and commercial ones offer it for free or for pay.
4. Most language features similar to other non-toy languages.
It has the same features as imperative languages have, and much more (feel free to add your own language features, or make up your own domain-specific languages if you feel the need. Extending the object-system to match your needs is also easy).
5. Large user base with a variety of opinions about the language.
The userbase isn't large, but it's not small either, there are plenty of libraries, and the implementations are mostly well maintained. I'd say it stikes a decent balance - enough to keep the language alive and usable, but not enough to have your libraries store 100 of those silly "Learn Common Lisp in 24 hours" books.