4 ms·
I absolutely love Common Lisp, but it has some problematic areas, which are not the classical stupid ones you sometimes still hear from clueless people (such as
by blue1 18y ago
I absolutely love Common Lisp, but it has some problematic areas, which are not the classical stupid ones you sometimes still hear from clueless people (such as "lots of parentheses", "lisp is slow", "lisp is for AI only" etc.).
I won't even say that libraries are a real problem. Sure there is no CPAN, but still there are a lot of very good CL libraries around, and they are not really hard to install.
But:
1. The language is sophisticated. This is a "problem", in the sense that such a language takes time to study. It will never be popular. The Condition system and CLOS, for example, are way more complex and versatile than, say, the equivalent areas of Java. And then there are macros. Common Lisp has not been designed as a mainstream language for mainstream programmers. It is, I fear, an elite tool.
2. Certain kind of operations are inconvenient. Maybe when CL was designed, sockets, multithreading, text processing etc were not so popular. But now, it feels like CL has not really adapted well to the modern world. Having to install a compatibility library for using sockets is reminiscent of things like "trumpet winsock". Does not feel very cutting edge.
3. The literature is lacking. "Practical Common Lisp" is very good, but one book is not enough. For example, what are the best practices to organize large CL programs? No book tells it (maybe some obscure out-of-print text that I have not yet tracked?). What about programming idioms, or patterns as you prefer? Apart from an ancient presentation by peter norvig, nothing exist. And so on.
4. The ANSI standard is a big blessing and a big curse. It is a well-written and smart opus. But nowadays no one has the resources for a new standard; both in terms of money and focus. This means that ANSI CL seems an ancient pinnacle of beauty which will never be equalled and certainly can not be improved. (the perfection of ancient architecture, as seen by renaissance architects, comes to mind). This makes CL a splendid but dying civilization.
5. I have a feeling that the community is slowly dying as well. While in recent years many CL sites and blogs have appeared, comp.lang.lisp has lost many important contributors. Nor I can really blame them: while still a wonderful language, CL is nonetheless petrified, and I suppose one may became slightly bored after a decade or two of discussing the finer points of the Standard.
- sandGorgon 18y agoYou're dead-on about the lack of literature. I am no lisp expert (python stole me away), but something like the PythonChallenge for lisp could go a long way towards building a working knowledge. I really wish we could have books like Norvig's PAIP in the public domain - it is really one of the best books on lisp ever, however very expensive - more so in third world countries. Oh and I really wish that brackets were used rather than parantheses - there is RSI you know!
- silentbicycle 18y agoIt seems particularly telling to me that Norvig himself seems to have switched to Python for most work. Christian Queinnec's _Lisp in Small Pieces_ is another absolutely brilliant book on Lisp, btw. It and PAIP are both about equally expensive, but both are well worth it IMHO. (FWIW, PAIP is probably of more interest to people with no intention of using Lisp.) (Also: Remapping your keyboard helps, whether you do it in your editor or overall. And, I did not write the above just to say "IMHO FWIW PAIP". Honest. :) )