In the last couple of months, there was of lot of writing about Lisp, probably because dynamic languages are gaining popular for web 2.0 apps and also because of Ruby on Rails. Lisp is a real source of inspiration for most dynamic languages creators. But the recent Reddit scandal was like an earthquake for the Lisp community. Reddit, the popular tech news site, founded as a startup with the support of Paul Gram was rewritten from Lisp to Python. The news is sad but it actually raised the problems of the Lisp community.

I know Common Lisp very well, I’ve been educated with it and I know its vertu. But right now it suffers some incredibly small issues that the community refuses to address and that will led Common Lisp into an unoticed hole.

David Roberts and Robert Lally got the point right. This small community as smart it is suffers deeply from the fragmentation of the language implementation. Instead of gathering forces it disperse energies. That’s frustrating for the user not being able to find an implementation ready to work on all platforms. History in other communities showed that the implementation is the first point of rallying. Java got its adoption because of it, as so Python, Ruby and PHP.

The code base is also a problem. Unfortunately, most Common Lisp software is not a good example of good software engineering. Few people write good code. The community always praise for the beautiful and power aspect of the language but the packaging, documentation and interfaces (API) of software just look unprofessional. It’s a bad feeling of unfinished job.

The community generally don’t care about “weak” industrial standards like XML but it’s “our” reality. Accessing to standard document exchange, networking or threading in a portable and predictible way is now a basic requirement for programming enviroments. I don’t want to spend my time fixing my implementation problems or writting wrappers. I want to get into my own problem right away. Unfortunately, despite my time spent on Common Lisp I still don’t have this feeling, something is always missing and I have to do it myself. That’s not the way I’d like to communicate about Common Lisp. I found out that other languages are better in that regard.

I suppose most people in the community are tired about industry mistakes. I know that it took a lot of effort to produce the Common Lisp standard and that it didn’t take. But look, that’s the way the industry works and I think the acceptance of dynamic languages will accelerate in the future. Java make garbage collection a requirement and Python starts to make its path in the enterprise space — C and C++ is history.

That said, the Reddit failure was not the only one. Quite recently, a guy who wrote an industrial strength poker server in Common Lisp switched to Erlang because of the classic threading and networking issues. These events must be taken as profiler showing hotspots to fix in Common Lisp, not as a aggression on the community.

With all the buzz around dynamic languages, the failure of frameworks, the praise of Ruby on Rails and Web 2.0. I think it’s an ideal time for Common Lisp to show its full potential. Take the chance!