I am becoming increasingly frustrated by Common Lisp's age. On the one hand, history makes it what it is: Mature, well-documented, thoroughly understood and practical. On the other, it fails to keep up with current system designs, lacking convenient native support for rich data structures, infrastructure access and parallel programming.

That reminded me of a paper by Richard C. Waters: The Survival of Lisp: Either We Share, Or It Dies (local copy), written in 1994. Here are some excerpts:

Unfortunately, the computer world around Lisp is changing so rapidly that considerable effort is required just to maintain links to the outside things that are essential, let alone all the things that are valuable.

If a programming language is little used in a given area, then there will be little reusable software written in that language, and little motivation for new programmers to start using the language in that area, which means that the reusable software in the language that does exist is unlikely to be properly maintained, which leads to even less interest in the language, etc. In contrast, if there is a critical mass of reusable software written in a given language in a particular area, then lots of programmers will be attracted to using this language in the area, which leads to an increase in the amount of reusable software, which attracts even more users, etc.

... which reminds me that I should probably dust off some code and bring it into a releasable state.