I don't think Common Lisp is really dead. People use it for new projects and new libraries. ASDF wasn't there 10 years ago and all important implementations support it. Many libraries and tools became a de facto standard you can use with your favorite implementation.
Dead relatives shouldn't be the only reason to design a new programming language (or new variation of an existing one).
And about two days later there's no information in the newsgroup comp.lang.lisp or on Planet Lisp. No blog mentions anything.
It's like nobody really cares. But cliki.net is heavily used for "Common Lisp's answer to CPAN", ASDF-Install.
I'm guessing there are just some technical problems and danb has enough to do to fix it. So I don't want to critize him or anyone else who is helping to fix the problem, instead of writing about it in his blog or on the news.
But it's still very strange. A central point of the community is out of order. And nobody cares.
From the NEWS file in the current CVS version of SBCL:
new feature: new SAVE-LISP-AND-DIE keyword argument :EXECUTABLE can be used for bundling the runtime and the core file into one executable binary. This feature is not currently supported on all SBCL platforms. (thanks to James Bielman and NIIMI Satoshi)
In the comments on reddit he was obsessed with the four little words "the task at hand". I was giving a bad advice by letting a programmer choose his own tools to do his work.
As if a programmer can't think for himself. When you don't have any additional budget at all and you think Delphi would fit the current problem, then you are out of luck. You have to pay for Delphi. Same goes for some other tools. So you have to find another way to solve your problems.
There's a strictly Java only policy at the shop you are working? Don't waste your time thinking about how cool it could be to quickly code something in Ruby.
But when the only reason holding you back using Common Lisp is the doubt if other programmers could pick up when you leave, or support you in maintaining the code …
I work with a large Common Lisp codebase at work, and I'm often surprised at how easy it is to maintain and make changes to even the "bad" parts of the code.
And I would go further: It's not only easy to maintain the code, it is also easy to learn by reading and modifying given code.
Set up a working environment and maybe point to Lispbox if they want to try it at home, too. Give them a copy of Practical Common Lisp and a week time and the co-worker or successor will get around the first shock and accept Common Lisp. Don't expect them to love it — so you don't get disappointed for them not getting as excited as you are for the language.
The task at hand? When to choose Common Lisp?
I'm not telling. It's your job. You know the facts and all (or most of) the variables to consider. Not me. Trying to force Common Lisp on you as the perfect tool for every problem doesn't help anybody. Even if it is the perfect tool.
Every now and then I read a Usenet posting or blog entry about the somewhat frightening question from management: "Will someone else be able to work on your Common Lisp code?"
Then most people explain why they had to say "no".
You all know the reasons why they think they have to give this answer. But are the reasons really valid?
I don't think so. It is the job of a programmer to work with different tools. Programming languages are such tools, among others. It is expected that a Java programmer can learn the Eclipse IDE within a few days even if he was a long time user of Netbeans. A programmer has to use many tools he wouldn't choose by himself. Do you think most of them really like writing their e-mails at work with Outlook? :-)
Common Lisp is one of the tools that are available. If you think it fits the task at hand then use it. Chances are good you are no wizard, guru, demi-god. Just a person who does his job. You were able to learn Common Lisp and so should be someone who doesn't have to go through the initial phase of a project in a new language. Everyone following you has better and more books, more libraries, a bigger community — Common Lisp has gained a nice momentum and more and more people use it just for fun and for work. Everyone following you can rely on your code. It is very easy to test and fool around with single functions of your program.
Common Lisp is for the mediocre programmer, too. A programmer bitching about the parentheses and refusing to learn something new or different, isn't a mediocre programmer. He is a bad programmer and a very bad employee. Who wants to employ someone who doesn't want to learn for and on the job? The manager/boss who asks you if someone can pick up or support your work when you choose Common Lisp is the same one who expects his staff to be flexible.
"No, I don't think anybody can be as good and flexible as me." is the answer you give when you say "no".
You all know the essays and rantings of Common Lisp users about how wonderful the language is and that you must one of the top programmers choosing it. They are wrong. All it takes is to be a programmer. Even if you are just mediocre.
OK, some programmers who just do their job don't learn programming languages just for fun. They don't have to be bad ones. Just the typical worker who doesn't want to be bothered with work related stuff after a day's work. It's sad but there are such people in every profession. But it's no reason to believe these people aren't able to learn Common Lisp just because they haven't thought of it themselves.
TBNL 0.3.12 two days ago (announcement). It now has a special variable *HTTP-ERROR-HANDLER* (defaults to NIL) which can hold a function designator to an error handler for HTTP errors like the 404 Not Found error.
In the following example a simple error handler just handles the 404 error. Every other error returns NIL and TBNL takes over. The function could emit some explanation about the site's structure or just show the wrong part of the URL and make fun of the visitor. :-)
TBNL has fileupload now (since 0.3.1) and there aren't (m)any missing features left. Current versions of mod_lisp must be optained directly from the subversion repository. SBCL now has unicode support. But be careful and test your code!
CLSQL is a really nice library to access SQL databases. I'm evaluating it for a project of mine and it's fun to work with. Instead of fumbling around with SQL commands you create classes which get mapped into the database.
Today I have released CL-EMB. It's a kind of combination of LSP (LispServer Pages) and HTML-TEMPLATE. You can embed Common Lisp (hence the name) into textfiles. Between <% and %> can be Common Lisp or special template tags like @if, @repeat, @loop, ...
It's in an early stage. Version 0.0.1. Needs a real documentation and lots of examples.