Zach Beane is a Common Lisp developer and creator of Quicklisp who blogs about Lisp tools, history and community news.
HN commenters recommend his posts to Lisp learners and link his Lisp resource lists and Usenet classics.
ITA has a big problem: their follow on to the QPX product that everyone has been talking about is a airline reservation, management etc. system called RES. This is desperately needed since pretty much everyone is running these systems on expensive mainframes with ugly old code bases.
Dan Wienreb did a very interesting talk, "Lisp for High-Performance Transaction Processing" that covered it and a bit on the future of Lisp (for a outline and link to the talk see: http://xach.livejournal.com/225634.html).
RES is a three tier system with Oracle RAC as the backend (pretty much the only choice), stateless Common Lisp middleware and Java with the usual web libraries for the front end. 300 milisecond? general max transaction time, which they weren't finding to be a big issue even with GC.
The problem: someone has to go first. While it's arbitrarily sized/scoped to accommodate American Airlines, Air Canada was going to be the lead customer. In August 2009 they suspended their participation in the project, I strongly suspect due to the general recession/depression in the industry. Switching would be very expensive in all sorts of ways and raw survival almost certainly is taking priority. (ITA has continued developing the system.)
This part/project of ITA is very likely to be a victim of bad timing; I sure can't see Google credibly continuing it, it's all wrong for their service culture, although perhaps it'll get spun off.
The idea that one should experience different types of programming languages is fairly well known. But there are wrong and right ways to use any given language and reaping benefits depends on you using it the right way. But how one should know whether s/he is using a language correctly? I suggest the following, decreasing order of effectiveness (1) find a mentor who deeply understands the language, (2) read programs by those who deeply understand the language, and (3) read writings by those to deeply understand the language. As you might expect, a mentor is by far the most effective method. However, you can still do quite well without one. Between Paul's On Lisp [1] and various online resources [2, 3] one can still do quite well.
The above actually applies in most areas of our profession. For example, how sure you are that you are using Vim/Emacs in the right way? Do you actually understand how to think in the way these editors want you to think [4]? I find these thoughts deeply humbling. There is a reasonable chance that you don't fully understand the languages or the tools you use and thus always an opportunity to improve.
[1] http://www.paulgraham.com/onlisp.html
[2] http://www.xach.com/naggum/articles/ (a filter: http://xach.livejournal.com/221433.html)
[3] http://lists.common-lisp.net/pipermail/pro/
[4] http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118
The plan for Common Lisp originally was to have a "core" and a standard library. From Daniel Weinreb's blog post "Complaints I’m Seeing About Common Lisp":
It’s just too big. Actually, the real problem is that the core of the language is not cleanly separated from the built-in libraries. The Common Lisp designers had originally intended to do this separation, but there wasn’t time enough.
https://web.archive.org/web/20100706204555/http://danweinreb.org/blog/complaints-im-seeing-about-common-lisp
(Daniel Weinreb was, among other things, one the designers of Common Lisp.)
Zach Beane has some more information on this at https://xach.livejournal.com/319717.html
EDIT: "time enough", in the quote, may seem strange; after all, work began in 1984 and the standard was finalized in 1994. But remember that many stakeholders were companies with jobs to do, and they had to assign employees to the design/standardization work at real costs for said companies.
Naughty Dog used Allegro Common Lisp for their development environment - to implement some kind of Scheme dialect for the Playstation II. Then they got bought by Sony and for the Playstation III they used C++. As I understand they wanted to share code and technology with other parts of Sony working on games - and those were not using Lisp, but C++, like most of the industry. From reading some of their latest presentations I get the impression that this did not work out the way they had thought. So Naughty Dog is back using Lisp, this time using Scheme as part of the toolchain.
Xach recently wrote about the use of Lisp in Games:
http://xach.livejournal.com/229485.html
But there is more, I remember for example that there is a relatively large online game that uses Common Lisp: neuroarena.com - a tutorial video is at http://www.youtube.com/watch?v=XFzP6Shxbbs .
>I think, because it leads directly to the Question of Why Lisp Failed.
Lisp isn't a failure. You're commenting on a server that is powered by a Lisp.
>Why did Lisp fail? Many people say, because it couldn't be standardized properly.
There was a very good idea about how to standardize Common Lisp back in 1982. It divided documentation into 4 different parts, or 4 different "colored pages". It was eventually abandoned because of the time constraints. Read DLW's (one of the 5 main Common Lisp authors) news.yc post about it:
https://news.ycombinator.com/item?id=81258
Read more about it here:
http://www.saildart.org/ARPA.PRO%5BCOM,LSP%5D
http://xach.livejournal.com/319717.html
From a comment by Austin Haas of Pet Tomato:
"When we have time, we're going to release another installment of this game that utilizes a collection of backend components written in Common Lisp, using SBCL, Hunchentoot, and Postmodern, to allow players to create and submit their own game levels. We use that stuff internally now and it's working great, but we need to clean it up before it's ready for public use."
http://xach.livejournal.com/175304.html?thread=368072#t368072